
/* WARNING: Removing unreachable block (ram,0x000a4d64) */
/* WARNING: Removing unreachable block (ram,0x000a4d8c) */
/* WARNING: Removing unreachable block (ram,0x000a4f54) */
/* WARNING: Type propagation algorithm not settling */

void insertCell(MemPage *pPage,int i,u8 *pCell,int sz,u8 *pTemp,Pgno iChild,int *pRC)

{
  byte bVar1;
  ushort uVar2;
  ushort uVar3;
  ushort uVar4;
  bool bVar5;
  uint uVar6;
  anon_union_500_3_7c964c52_for_u aVar7;
  undefined2 extraout_var;
  undefined2 extraout_var_00;
  undefined2 extraout_var_01;
  code cVar24;
  Bitvec *pBVar8;
  u8 uVar25;
  code *pcVar9;
  Pgno *pPVar10;
  u8 *puVar11;
  uint *puVar12;
  u16 uVar22;
  short *psVar13;
  u32 uVar14;
  uint *puVar15;
  sqlite3_vfs **ppsVar17;
  int iVar18;
  Bitvec *pBVar19;
  int iVar20;
  Pager *pPVar21;
  short sVar23;
  code cVar29;
  uint uVar26;
  Pgno PVar27;
  _func_int_sqlite3_vfs_ptr_sqlite3_int64_ptr *p_Var28;
  Bitvec *extraout_v1;
  uint uVar30;
  Bitvec *pTo;
  int iVar31;
  undefined4 uVar32;
  uint *puVar33;
  word *pwVar34;
  undefined1 *puVar35;
  _func_int_sqlite3_vfs_ptr_int_char_ptr *p_Var36;
  sqlite3_vfs *psVar37;
  undefined2 *puVar38;
  byte *pbVar39;
  int iVar40;
  int *piVar41;
  u8 *puVar42;
  code *pcVar43;
  code *pcVar44;
  Bitvec *pBVar45;
  ushort *puVar46;
  Bitvec *pBVar47;
  code cVar48;
  sqlite3_vfs **ppsVar49;
  byte *pbVar50;
  Bitvec *pBVar51;
  Bitvec *pBVar52;
  Bitvec *pBVar53;
  Bitvec *pBVar54;
  Bitvec *pBVar55;
  Elf32_Ehdr *unaff_s6;
  Bitvec *pBVar56;
  Bitvec *unaff_s7;
  undefined *puVar57;
  _func_u16_MemPage_ptr_u8_ptr *p_Var58;
  sqlite3_vfs *psVar59;
  Bitvec *pBVar60;
  code *pcVar61;
  Bitvec *pBStack_1f4;
  Bitvec *pBStack_1f0;
  Bitvec *pBStack_1ec;
  Bitvec *pBStack_1e8;
  code *pcStack_1e4;
  Bitvec **ppBStack_1e0;
  sqlite3_vfs **ppsStack_1dc;
  int *piStack_1d8;
  Bitvec *pBStack_1d4;
  int iStack_1d0;
  Bitvec *pBStack_1c8;
  Bitvec *pBStack_1c4;
  byte *pbStack_1c0;
  Bitvec *pBStack_1bc;
  Bitvec *pBStack_1b8;
  Bitvec *pBStack_1b0;
  Bitvec *pBStack_1a8;
  Bitvec *pBStack_188;
  sqlite3_vfs *psStack_184;
  Bitvec *apBStack_180 [7];
  sqlite3_vfs *apsStack_164 [2];
  undefined2 auStack_15c [4];
  sqlite3_vfs *psStack_154;
  sqlite3_vfs *apsStack_150 [4];
  int aiStack_140 [4];
  byte abStack_130 [20];
  byte abStack_11c [16];
  u8 auStack_10c [4];
  Pager *apPStack_108 [5];
  uint auStack_f4 [5];
  uint auStack_e0 [5];
  uint auStack_cc [16];
  byte abStack_8c [68];
  int rc;
  undefined4 uStack_2c;
  uint *puVar16;
  
  pBVar52 = (Bitvec *)PTR___stack_chk_guard_0015ba2c;
  pBVar53 = (Bitvec *)(uint)pPage->nOverflow;
  uStack_2c = *(undefined4 *)PTR___stack_chk_guard_0015ba2c;
  cVar48 = SUB41(iChild >> 8,0);
  cVar24 = SUB41(iChild >> 0x10,0);
  cVar29 = SUB41(iChild >> 0x18,0);
  pBVar51 = (Bitvec *)i;
  piStack_1d8 = (int *)pCell;
  piVar41 = (int *)sz;
  if ((pBVar53 == (Bitvec *)0x0) && (sz + 1 < (int)(uint)pPage->nFree)) {
    pTo = (Bitvec *)pPage->pDbPage;
    iVar31 = sqlite3PagerWrite((PgHdr *)pTo);
    if (iVar31 == 0) {
      uVar30 = (uint)pPage->hdrOffset;
      pcVar61 = (code *)pPage->aData;
      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;
      rc = 0;
      pcVar44 = pcVar61 + uVar30 + 5;
      pcVar43 = pcVar61 + uVar30 + 6;
      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);
      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);
      if (unaff_s6 < unaff_s7) {
        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&
           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))
        {
          unaff_s6 = &Elf32_Ehdr_00010000;
          goto LAB_000a3e78;
        }
        pTo = (Bitvec *)0xfcb0;
        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();
        if (iVar31 != 0) goto LAB_000a3fdc;
        unaff_s7 = (Bitvec *)0x0;
        unaff_s6 = (Elf32_Ehdr *)0x0;
        pcVar9 = pcVar61;
      }
      else {
LAB_000a3e78:
        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&
           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {
          piStack_1d8 = &rc;
          pTo = (Bitvec *)pPage;
          pBVar51 = (Bitvec *)sz;
          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();
          if (pcVar9 != (code *)0x0) {
            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);
            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);
            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);
            goto LAB_000a3ec4;
          }
          iVar31 = rc;
          if (rc != 0) goto LAB_000a3fdc;
        }
        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {
          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));
          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);
          pBVar51 = (Bitvec *)&DAT_00000004;
          if (piStack_1d8 != (int *)0x0) {
            pBVar51 = pBVar8;
          }
          pTo = (Bitvec *)pPage;
          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();
          iVar31 = rc;
          if (rc != 0) goto LAB_000a3fdc;
          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);
        }
        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);
        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);
        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);
        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);
        *pcVar43 = SUB41(unaff_s6,0);
        pcVar9 = pcVar61 + (int)unaff_s6;
      }
LAB_000a3ec4:
      pPage->nFree = (pPage->nFree - (short)sz) - 2;
      if (iChild == 0) {
        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);
        piVar41 = (int *)sz;
      }
      else {
        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;
        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);
        pcVar9[3] = SUB41(iChild,0);
        *pcVar9 = cVar29;
        pcVar9[1] = cVar24;
        pcVar9[2] = cVar48;
        piVar41 = (int *)sz;
      }
      iChild = (Pgno)(pPage->aCellIdx + i * 2);
      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);
      pBVar51 = (Bitvec *)iChild;
      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));
      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;
      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;
      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);
      pPage->nCell = pPage->nCell + 1;
      uVar25 = *(u8 *)&pTo->iSize + '\x01';
      *(u8 *)&pTo->iSize = uVar25;
      if (uVar25 == '\0') {
        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');
      }
      if (pPage->pBt->autoVacuum != '\0') {
        pBVar51 = (Bitvec *)&pPage->aDataEnd;
        pTo = (Bitvec *)pPage;
        piStack_1d8 = (int *)pCell;
        piVar41 = pRC;
        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);
      }
    }
    else {
LAB_000a3fdc:
      *pRC = iVar31;
    }
  }
  else {
    pBVar8 = (Bitvec *)pCell;
    if (pTemp != (u8 *)0x0) {
      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);
      pBVar51 = (Bitvec *)pCell;
      piStack_1d8 = (int *)sz;
    }
    if (iChild != 0) {
      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);
      iChild = iChild >> 8;
      *(code *)&pBVar8->iSize = cVar29;
      *(code *)((int)&pBVar8->iSize + 1) = cVar24;
      *(code *)((int)&pBVar8->iSize + 2) = cVar48;
    }
    uVar30 = (uint)pPage->nOverflow;
    pTo = (Bitvec *)(uVar30 + 1);
    pPage->nOverflow = (u8)pTo;
    pPage->apOvfl[uVar30] = (u8 *)pBVar8;
    pPage->aiOvfl[uVar30] = (u16)i;
    pCell = (u8 *)pBVar8;
  }
  if (uStack_2c == pBVar52->iSize) {
    return;
  }
  pcVar61 = balance_nonroot;
  puVar57 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  pPVar10 = *(Pgno **)(puVar57 + 0xb790c);
  abStack_8c._44_4_ = pRC;
  abStack_8c._24_4_ = pBVar52;
  pBStack_188 = (Bitvec *)0x0;
  abStack_8c._0_4_ = (Wal *)0x0;
  abStack_8c[4] = '\0';
  auStack_cc[0] = 0;
  auStack_cc[2] = 0;
  abStack_8c._8_4_ = *pPVar10;
  pBVar8 = (pTo->u).apSub[10];
  abStack_8c._12_4_ = pPage;
  abStack_8c._16_4_ = iChild;
  abStack_8c._20_4_ = pCell;
  abStack_8c._28_4_ = pBVar53;
  abStack_8c._32_4_ = i;
  abStack_8c._36_4_ = unaff_s6;
  abStack_8c._40_4_ = unaff_s7;
  abStack_8c._48_4_ = pcVar61;
  abStack_8c._56_4_ = pBVar51;
  abStack_8c._64_4_ = piVar41;
  if (piStack_1d8 == (int *)0x0) goto LAB_000a44d0;
  uVar30 = (uint)*(u16 *)((int)&pTo->u + 10);
  pBVar53 = (Bitvec *)((pTo->u).aBitmap[0] + uVar30);
  if (pBVar53 < (Bitvec *)0x2) {
    puVar11 = (u8 *)(pTo->u).apSub[0xb];
    abStack_8c._56_4_ = (Bitvec *)0x0;
    pBStack_1d4 = pBVar53;
LAB_000a49d0:
    pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);
  }
  else {
    pBStack_1d4 = (Bitvec *)0xffe9ca52;
    pBVar54 = pBStack_1d4;
    if (pBVar51 != (Bitvec *)0x0) {
      if (pBVar53 == pBVar51) {
        pBVar54 = pBVar51;
        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);
      }
      else {
        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);
        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);
      }
    }
    uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];
    puVar11 = (u8 *)(pTo->u).apSub[0xb];
    if (uVar30 == uVar26) goto LAB_000a49d0;
    uVar2 = *(u16 *)((int)&pTo->u + 0xc);
    uVar30 = (uint)uVar2;
    pBStack_1c8 = (Bitvec *)
                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));
  }
  ppsStack_1dc = apsStack_164 + 5;
  pBStack_1c4 = (Bitvec *)apsStack_164;
  ppBStack_1e0 = &pBStack_188;
  iStack_1d0 = (int)pBStack_1d4 * 4;
  uVar26 = (uint)pBStack_1c8 & 3;
  ppsVar17 = ppsStack_1dc + (int)pBStack_1d4;
  ppsVar49 = (sqlite3_vfs **)(&pBStack_1c4->iSize + (int)pBStack_1d4);
  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x6acc);
  pBStack_1f4 = (Bitvec *)0x0;
  pBStack_1ec = (Bitvec *)apPStack_108;
  pbVar39 = (byte *)((int)&pBStack_1c8->iSize + 3);
  uVar6 = (uint)pbVar39 & 3;
  psStack_184 = (sqlite3_vfs *)
                ((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |
                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |
                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8);
  pcStack_1e4 = (code *)(*(int *)(puVar57 + 0xb7620) + -0x5c68);
  pBVar51 = pBStack_1d4;
  while( true ) {
    i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0);
    pBVar53 = (Bitvec *)((int)pBVar51 * 4);
    pBVar54 = (Bitvec *)i;
    pBVar56 = pTo;
    pBVar60 = pBVar8;
    pBVar19 = pBStack_1d4;
    pBStack_188 = (Bitvec *)i;
    if ((Bitvec *)i != (Bitvec *)0x0) break;
    pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499);
    pBStack_1f4 = (Bitvec *)
                  ((int)&pBStack_1f4->iSize +
                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +
                  (uint)*(byte *)&(*ppsVar17)->pNext);
    unaff_s7 = (Bitvec *)i;
    if (pBVar51 == (Bitvec *)0xffffffff) {
      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);
      auStack_cc[2] =
           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))
                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);
      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {
        pBStack_188 = (Bitvec *)&DAT_00000007;
        goto LAB_000a4454;
      }
      pbStack_1c0 = abStack_11c;
      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);
      auStack_cc[1] = (uint)apsStack_150[0];
      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);
      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);
      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);
      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);
      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];
      pBVar53 = (Bitvec *)
                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));
      pBVar60 = (Bitvec *)0x0;
      pBVar56 = (Bitvec *)0x0;
      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);
      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);
      pBVar54 = (Bitvec *)apsStack_150[0];
      pbVar39 = pbStack_1c0;
      pBVar51 = pBStack_1bc;
      if (*(char *)&pBVar52->iSize ==
          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)
      goto LAB_000a45ec;
      goto LAB_000a46e0;
    }
    p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10];
    pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_);
    if (((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))
    {
      pBVar52 = (Bitvec *)
                ((int)(pTo->u).apSub[0xb] +
                (uint)(*(ushort *)
                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)
                      & *(u16 *)((int)&pTo->u + 0xc)));
      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;
      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;
      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);
      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);
      aVar7 = pBVar8->u;
      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;
      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=
          (undefined1  [500])0x0) {
        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];
        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {
          pBStack_188 = (Bitvec *)
                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))
                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);
          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);
          pBStack_1f4 = pBVar53;
          goto LAB_000a443c;
        }
        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);
        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))
        ;
        pBStack_1e8 = pBVar47;
      }
      if (pBStack_188 == (Bitvec *)0x0) {
        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);
      }
    }
    else {
      puVar12 = &(pTo->u).apSub[6]->iSize;
      ppsVar49[-1] = (sqlite3_vfs *)puVar12;
      psStack_184 = (sqlite3_vfs *)*puVar12;
      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);
      (pTo->u).aBitmap[0] = '\0';
      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);
    }
    ppsVar17 = ppsVar17 + -1;
    ppsVar49 = ppsVar49 + -1;
  }
  (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,(int)((int)&pBVar51->iSize + 1) * 4,0xc);
  unaff_s7 = (Bitvec *)0x0;
  goto LAB_000a443c;
LAB_000a45ec:
  (**(code **)(puVar57 + 0xb7894))
            ((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,
             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2);
  if ((pBVar54->u).aBitmap[0] == '\0') {
LAB_000a4624:
    uVar2 = *(ushort *)((int)&pBVar54->u + 10);
  }
  else {
    uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);
    if (uVar30 != 0) {
      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;
      do {
        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;
        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);
        ((u32 *)auStack_cc[2])[auStack_cc[0]] =
             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);
        auStack_cc[0] = (uint)(auStack_cc[0] + 1);
      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));
      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;
    }
    pwVar34 = (word *)((pBVar54->u).aHash + 6);
    iVar31 = 0;
    do {
      uVar14 = *(u32 *)pwVar34;
      iVar31 = iVar31 + 1;
      pwVar34 = pwVar34 + 2;
      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;
      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);
    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);
    uVar2 = *(ushort *)((int)&pBVar54->u + 10);
  }
  uVar4 = *(ushort *)((int)&pBVar54->u + 6);
  PVar27 = auStack_cc[0];
  for (; pBVar53 < (Bitvec *)((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4);
      pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)) {
    ((u32 *)auStack_cc[2])[PVar27] =
         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize);
    auStack_cc[0] = PVar27 + 1;
    PVar27 = auStack_cc[0];
  }
  auStack_cc[0] = PVar27;
  *(Pgno *)pbVar39 = PVar27;
  if (((int)pBVar60 < (int)pBStack_1d4) && (pcStack_1e4 == (code *)0x0)) {
    pcVar61 = *(code **)(puVar57 + 0xb7910);
    psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60];
    psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60];
    uVar30 = (uint)psVar37 & 0xffff;
    ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize;
    *(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37;
    pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30);
    iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30);
    ((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0;
    psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);
    *psVar13 = *psVar13 - (short)ppBStack_1e0;
    if (*(byte *)&pBVar54->iDivisor == 0) {
      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;
LAB_000a4864:
      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);
    }
    else {
      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;
      do {
        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);
        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;
        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);
        *psVar13 = *psVar13 + 1;
      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);
      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);
    }
    if ((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc) goto LAB_000a487c;
LAB_000a46ac:
    ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;
    pBVar60 = (Bitvec *)((int)ppsVar17 + 1);
    pbVar39 = pbVar39 + 4;
    pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)];
    pBVar52 = (pBVar54->u).apSub[0xb];
    uVar2 = *(ushort *)((int)&pBVar54->u + 10);
    pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6));
    uVar3 = *(ushort *)((int)&pBVar54->u + 0xc);
    if (*(char *)&pBVar52->iSize !=
        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)
    goto LAB_000a46e0;
    goto LAB_000a45ec;
  }
  if ((Bitvec *)((int)&pBVar60->iSize + 1) != pBStack_1bc) goto LAB_000a46ac;
LAB_000a487c:
  pBStack_1f4 = (Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU));
  iVar18 = 0;
  pBStack_1a8 = (Bitvec *)abStack_130;
  pBVar53 = (Bitvec *)apPStack_108;
  iVar31 = 0;
  pBVar52 = (Bitvec *)apsStack_150[0];
  while( true ) {
    uVar30 = (pBVar52->u).aHash[0xc];
    uVar26 = *(uint *)(pbStack_1c0 + iVar31);
    auStack_cc[iVar18 + 10] = uVar26;
    auStack_cc[iVar18 + 4] = uVar30;
    iVar20 = iVar18 + 1;
    if (pcStack_1e4 == (code *)0x0) {
      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];
      auStack_cc[iVar18 + 0xb] = uVar26 + 1;
      iVar20 = iVar18 + 2;
    }
    iVar18 = iVar20;
    uVar25 = (pBVar52->u).aBitmap[0];
    psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8));
    pBVar53->iSize = (u32)psVar59;
    if (uVar25 != '\0') {
      pwVar34 = (word *)((pBVar52->u).aHash + 6);
      iVar20 = 0;
      do {
        uVar32 = *(undefined4 *)pwVar34;
        iVar20 = iVar20 + 1;
        pwVar34 = pwVar34 + 2;
        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);
        bVar1 = (pBVar52->u).aBitmap[0];
        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);
        pBVar53->iSize = (u32)psVar59;
      } while (iVar20 < (int)(uint)bVar1);
    }
    *(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26;
    if (iStack_1d0 == iVar31) break;
    pBVar53 = (Bitvec *)&pBVar53->nSet;
    pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4);
    iVar31 = iVar31 + 4;
  }
  pBStack_1e8 = (Bitvec *)auStack_cc;
  pBStack_1ec = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);
  pBVar52 = (Bitvec *)0x1;
  pBVar53 = (Bitvec *)0x2;
  pBVar19 = pBStack_1a8;
  pBVar60 = (Bitvec *)apPStack_108;
  pBStack_1f0 = (Bitvec *)0x0;
  while( true ) {
    pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499);
    pBStack_1b8 = (Bitvec *)0x0;
    pBVar54 = pBVar51;
    pBVar47 = pBVar51;
    pBVar56 = pBVar19;
    pBStack_1b0 = pBVar8;
    if ((int)pBStack_1f4 < (int)pBVar60->iSize) {
      do {
        pBVar51 = pBVar54;
        if ((int)pBVar47 <= (int)pBVar52) {
          if (pBVar53 == (Bitvec *)&DAT_00000006) {
            uVar32 = 0x11477;
            pBVar54 = (Bitvec *)&DAT_00000006;
            pBStack_1d4 = pBStack_1a8;
            pBStack_1b8 = pBStack_1c4;
            goto LAB_000a46ec;
          }
          pBVar60->nSet = 0;
          pBVar19->nSet = auStack_cc[0];
          pBVar47 = pBVar53;
        }
        pBVar51 = pBVar47;
        pBVar56 = (Bitvec *)pBVar19->iSize;
        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);
        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);
        uVar30 = (uint)*(ushort *)
                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);
        if (uVar30 == 0) {
          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);
          pBStack_1f0 = pBVar47;
        }
        iVar31 = uVar30 + 2;
        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);
        pBVar60->iSize = (u32)psVar59;
        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&
           (uVar30 = (uint)*(ushort *)
                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),
           iVar31 = uVar30 + 2, uVar30 == 0)) {
          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);
          iVar31 = iVar31 + 2;
        }
        PVar27 = pBVar60->nSet;
        pBVar19->iSize = (u32)pBVar54;
        pBVar60->nSet = PVar27 + iVar31;
        pBVar47 = pBVar51;
      } while ((int)pBStack_1f4 < (int)psVar59);
    }
    else {
      pBVar54 = (Bitvec *)pBVar19->iSize;
    }
    puVar35 = (undefined1 *)auStack_cc[0];
    if ((int)auStack_cc[0] <= (int)pBVar54) break;
    while( true ) {
      iVar31 = (int)pBVar54 * 2;
      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);
      if (uVar30 == 0) {
        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);
        puVar35 = (undefined1 *)auStack_cc[0];
      }
      iVar18 = uVar30 + 2;
      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));
      if ((int)pBStack_1f4 < (int)psVar59) break;
      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);
      pBVar60->iSize = (u32)psVar59;
      pBVar19->iSize = (u32)pBVar54;
      bVar5 = (int)pBVar54 < (int)puVar35;
      if (pcStack_1e4 == (code *)0x0) {
        if (!bVar5) goto LAB_000a4c3c;
        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);
        iVar18 = uVar30 + 2;
        if (uVar30 == 0) {
          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);
          bVar5 = (int)pBVar54 < (int)auStack_cc[0];
          iVar18 = iVar18 + 2;
          puVar35 = (undefined1 *)auStack_cc[0];
        }
      }
      pBVar60->nSet = pBVar60->nSet - iVar18;
      if (!bVar5) goto LAB_000a4c3c;
    }
    if ((int)puVar35 <= (int)pBVar54) break;
    uVar14 = 0;
    if (pBStack_1c4 != (Bitvec *)0x0) {
      uVar14 = pBVar19[-1].u.aHash[0x7c];
    }
    bVar5 = (int)pBVar51 <= (int)pBVar52;
    pBStack_1f0 = pBVar51;
    if ((int)pBVar54 <= (int)uVar14) {
      uVar32 = 0x11498;
      pBVar56 = pBVar19;
      pBStack_1d4 = pBStack_1a8;
      pBStack_1b8 = pBStack_1c4;
      goto LAB_000a46ec;
    }
    pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);
    pBVar60 = (Bitvec *)&pBVar60->nSet;
    pBVar19 = (Bitvec *)&pBVar19->nSet;
    pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1);
    if (bVar5) {
      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);
      pBVar52 = pBVar51;
      break;
    }
  }
LAB_000a4c3c:
  if (pBStack_1c4 == (Bitvec *)0x0) {
LAB_000a4ef4:
    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);
    pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);
    pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);
    pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);
    bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->
                      iSize;
    pBStack_1f0 = (Bitvec *)(uint)bVar1;
    pBVar53 = pBStack_1ec;
    pBVar54 = (Bitvec *)0x0;
    do {
      pBVar51 = pBVar54;
      pBVar54 = (Bitvec *)&psStack_184;
      if ((int)pBVar51 < (int)pBStack_1bc) {
        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];
        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;
        pBVar53->iSize = (u32)apBStack_180[0];
        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);
joined_r0x000a5018:
        pBVar56 = pTo;
        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);
        pBVar60 = pBVar8;
        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;
      }
      else {
        pBStack_188 = (Bitvec *)
                      (*(code *)pBStack_1e8)
                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);
        pBVar56 = pTo;
        unaff_s7 = pBVar51;
        pBVar60 = pBVar8;
        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;
        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);
        uVar30 = auStack_cc[0];
        uVar25 = (pBVar8->u).aBitmap[5];
        pBVar53->iSize = (u32)apBStack_180[0];
        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;
        if (uVar25 != '\0') {
          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);
          goto joined_r0x000a5018;
        }
      }
      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);
      pBVar53 = (Bitvec *)&pBVar53->nSet;
    } while ((int)pBVar54 < (int)pBVar52);
    piVar41 = aiStack_140;
    puVar12 = auStack_e0;
    puVar38 = (undefined2 *)((int)apsStack_164 + 10);
    pBVar56 = (Bitvec *)0x1;
    auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;
    auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;
    auStack_15c[0] =
         *(undefined2 *)
          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)
    ;
    puVar33 = auStack_f4;
    while( true ) {
      puVar12 = puVar12 + 1;
      iVar31 = *(int *)(puVar57 + 0xb753c);
      if (pBVar54 == pBVar56) break;
      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);
      iVar31 = *(int *)(*piVar41 + 0x48);
      puVar33[1] = (uint)psVar59;
      *puVar12 = (uint)psVar59;
      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];
      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);
      puVar15 = auStack_f4;
      if (bVar5) {
        iVar31 = *(int *)(puVar57 + 0xb7620);
LAB_000a5138:
        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);
        pBVar56 = pTo;
        unaff_s7 = pBVar54;
        pBVar60 = pBVar8;
        pBVar19 = (Bitvec *)((int)pBVar51 * 4);
        goto LAB_000a443c;
      }
      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {
        iVar31 = *(int *)(puVar57 + 0xb7620);
        puVar15 = puVar16;
        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;
      }
      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);
      puVar33 = puVar33 + 1;
      piVar41 = piVar41 + 1;
      puVar38 = puVar38 + 1;
    }
    pBVar52 = (Bitvec *)0x0;
    pBVar53 = pBStack_1ec;
    do {
      psStack_184 = (sqlite3_vfs *)auStack_e0[0];
      if (pBVar54 == (Bitvec *)0x1) {
        auStack_e0[0] = 0xffffffff;
        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;
        pBVar56 = (Bitvec *)0x0;
LAB_000a51ec:
        psVar59 = (sqlite3_vfs *)pBVar53->iSize;
        p_Var28 = psVar59->xCurrentTimeInt64;
        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);
        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);
        psVar59->szOsFile = (int)psStack_184;
      }
      else {
        puVar12 = auStack_e0;
        pBVar56 = (Bitvec *)0x0;
        pBVar60 = (Bitvec *)0x1;
        do {
          psVar59 = (sqlite3_vfs *)puVar12[1];
          puVar12 = puVar12 + 1;
          if (psVar59 < psStack_184) {
            pBVar56 = pBVar60;
          }
          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);
          if (psVar59 < psStack_184) {
            psStack_184 = psVar59;
          }
        } while (pBVar54 != pBVar60);
        auStack_e0[(int)pBVar56] = 0xffffffff;
        if (pBVar56 != pBVar52) {
          if ((int)pBVar52 < (int)pBVar56) {
            iVar20 = (int)(pBVar8->u).apSub[8];
            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);
            *(undefined2 *)(iVar18 + 0x1c) = 0;
            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));
          }
          goto LAB_000a51ec;
        }
      }
      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);
      pBVar53 = (Bitvec *)&pBVar53->nSet;
      if (pBVar54 == pBVar52) {
LAB_000a5230:
        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];
        iVar31 = psVar59->szOsFile;
        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;
        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);
        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);
        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);
        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {
          ppsVar17 = apsStack_150 + 2;
          if ((int)pBVar54 <= (int)pBStack_1bc) {
            ppsVar17 = apsStack_164 + 4;
          }
          p_Var36 = psVar59->xRandomness;
          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);
          pcVar61 = p_Var36 + 8;
          uVar30 = (uint)pcVar61 & 3;
          *(uint *)(pcVar61 + -uVar30) =
               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;
          pcVar61 = p_Var36 + 0xb;
          uVar30 = (uint)pcVar61 & 3;
          *(uint *)(pcVar61 + -uVar30) =
               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |
               uVar26 << (3 - uVar30) * 8;
        }
        pBVar53 = (Bitvec *)apsStack_150[3];
        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;
        pBStack_1c4 = (pBVar8->u).apSub[6];
        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];
        pBStack_1f0 = (Bitvec *)
                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +
                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]
                      );
        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;
        pBStack_1d4 = (Bitvec *)0x0;
        pCell = (u8 *)0x0;
        pBStack_1c8 = (Bitvec *)0x0;
        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);
        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);
        pBVar52 = (Bitvec *)0x0;
        pBVar47 = (Bitvec *)auStack_cc[0];
        pPage = (MemPage *)apsStack_150[3];
        iChild = (Pgno)apsStack_150[3];
        pBStack_1b0 = pBVar51;
        goto LAB_000a53dc;
      }
    } while( true );
  }
  pBStack_1ec = (Bitvec *)(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4);
  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);
  pBStack_1e8 = pBStack_1c4;
  pBVar54 = (Bitvec *)apPStack_108[(int)pBStack_1c4];
  pBVar56 = (Bitvec *)(&pBStack_1a8->iSize + (int)pBStack_1c4);
  do {
    pBVar19 = pBVar56;
    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499);
    pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c];
    pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2);
    pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1);
    if (*(short *)(auStack_cc[3] + (int)pBVar51) == 0) {
      (*(code *)pBStack_1f0)(auStack_cc);
    }
    do {
      pBVar60 = pBVar56;
      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {
        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);
      }
      if (pBVar54 != (Bitvec *)0x0) {
        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];
        break;
      }
      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);
      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);
      pBVar19[-1].u.apSub[0x7c] = pBVar60;
      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);
      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));
      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);
    } while (-1 < (int)pBVar56);
    pBStack_1ec->iSize = (u32)pBVar54;
    pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53;
    pBStack_1b0 = pBVar52;
    if (pBStack_1e8 == (Bitvec *)0x0) {
      bVar5 = 0 < (int)pBVar60;
      pBVar51 = pBVar52;
      pBVar54 = pBVar60;
      pBVar56 = pTo;
      pBVar60 = pBVar8;
      if (bVar5) goto LAB_000a4ef4;
      break;
    }
    pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0);
    pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0);
    pBVar54 = pBVar53;
  } while ((int)pBVar19[-1].u.aHash[0x7b] < (int)pBVar60);
  uVar32 = 0x114c2;
  pBStack_1d4 = pBVar19;
LAB_000a46ec:
  pBStack_188 = (Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32);
  pBVar52 = pBVar51;
  pBVar19 = pBStack_1d4;
LAB_000a443c:
  pBStack_1d4 = pBVar19;
  i = (int)pBVar54;
  pTo = pBVar56;
  pBVar8 = pBVar60;
  if ((Bitvec *)auStack_cc[2] != (Bitvec *)0x0) {
    (**(code **)(puVar57 + 0xb7500))();
  }
LAB_000a4454:
  iChild = (int)apsStack_150 + iStack_1d0 + 4;
  pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);
  pPage = (MemPage *)ppsStack_1dc;
  do {
    if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {
      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);
    }
    pPage = (MemPage *)((int)pPage + 4);
  } while (pPage != (MemPage *)iChild);
  if (unaff_s7 != (Bitvec *)0x0) {
    pPage = (MemPage *)(apsStack_150 + 3);
    pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);
    iChild = (int)pPage + unaff_s7 * 4;
    do {
      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {
        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);
      }
      pPage = (MemPage *)((int)pPage + 4);
    } while ((MemPage *)iChild != pPage);
  }
LAB_000a44d0:
  if ((Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10) {
    return;
  }
  pBVar47 = (Bitvec *)abStack_8c._8_4_;
  (**(code **)(puVar57 + 0xb78f0))();
  pBVar51 = extraout_v1;
  pBVar54 = (Bitvec *)i;
  i = (int)unaff_s7;
  do {
    if ((pBVar51 <= pBVar53) &&
       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))) goto LAB_000a53d0;
    do {
      if (ppBStack_1e0 == (Bitvec **)0x0) {
        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,
                  (int *)&pBStack_188);
      }
      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);
      if (uVar30 == 0) {
        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);
      }
      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {
        (*(code *)pbStack_1c0)
                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);
      }
      pBVar47 = (Bitvec *)auStack_cc[0];
      pBVar56 = pTo;
      unaff_s7 = pBVar54;
      pBVar60 = pBVar8;
      pBVar19 = pBStack_1d4;
      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;
LAB_000a53d0:
      do {
        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);
        pBVar51 = pBStack_1b0;
        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;
LAB_000a53dc:
        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];
        if (pBVar52 == pBStack_1f0) {
          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);
          if ((int)pCell < (int)pBVar54) {
            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];
          }
          else {
            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];
          }
          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];
          pBStack_1f0 = (Bitvec *)
                        ((int)&pBStack_1f0->iSize +
                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +
                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)
                        );
        }
        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;
        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);
        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);
        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];
      } while (pcStack_1e4 == (code *)0x0);
    } while (((int)pBVar54 <= (int)pCell) ||
            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]));
  } while( true );
LAB_000a46e0:
  uVar32 = 0x11403;
  pBStack_1ec = (Bitvec *)0x0;
  pBStack_1f0 = (Bitvec *)apPStack_108;
  pBStack_1e8 = pBVar8;
  pBStack_1d4 = pTo;
  goto LAB_000a46ec;
LAB_000a5474:
  unaff_s7 = pBVar54;
  if (pBVar51 != (Bitvec *)0x0) {
    pBStack_1f0 = (Bitvec *)0x0;
    pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_);
    pBStack_1e8 = (Bitvec *)&pBStack_188;
    iVar31 = *(int *)(puVar57 + 0xb75e4);
    pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54);
    pBVar51 = (Bitvec *)abStack_8c._56_4_;
    pBVar53 = pBStack_1ec;
    do {
      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);
      pBVar52 = (Bitvec *)pBVar53->iSize;
      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);
      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];
      iVar18 = uVar30 + (int)ppBStack_1e0;
      if (*(u8 *)&pBVar52->iDivisor == '\0') {
        uVar26 = *(uint *)pbVar39;
        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];
        puVar11 = puVar42 + 8;
        uVar30 = (uint)puVar11 & 3;
        *(uint *)(puVar11 + -uVar30) =
             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;
        puVar42 = puVar42 + 0xb;
        uVar30 = (uint)puVar42 & 3;
        *(uint *)(puVar42 + -uVar30) =
             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |
             uVar26 << (3 - uVar30) * 8;
      }
      else if (pcStack_1e4 == (code *)0x0) {
        pbVar39 = pbVar39 + -4;
        if (uVar30 == 4) {
          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);
          iVar18 = CONCAT22(extraout_var_01,uVar22);
          pbStack_1c0 = pbVar39;
        }
      }
      else {
        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])
                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],
                   (CellInfo *)apBStack_180);
        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {
          pbVar50[4] = (byte)apBStack_180[1];
          iVar18 = 1;
        }
        else {
          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);
        }
        iVar18 = iVar18 + 4;
        pbVar39 = pbVar50;
        pbVar50 = (byte *)0x0;
      }
      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);
      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);
      pBVar56 = pTo;
      pBVar60 = pBVar8;
      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);
      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;
      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);
      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;
      pBVar53 = (Bitvec *)&pBVar53->nSet;
    } while (pBVar51 != pBVar19);
  }
  pBStack_1c4 = (Bitvec *)apBStack_180;
  pBStack_1f0 = (Bitvec *)-(int)pBVar54;
  pBStack_1a8 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x543c);
  pbStack_1c0 = *(byte **)(puVar57 + 0xb7620);
  pBStack_1e8 = (Bitvec *)((int)&pBStack_1f0->iSize + 2);
  pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x5114);
  iVar31 = *(int *)(puVar57 + 0xb7620);
  pBVar52 = pBStack_1c4;
  do {
    pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1);
    pBVar51 = pBStack_1f0;
    if ((int)pBStack_1f0 < 0) {
      pBVar51 = (Bitvec *)-(int)pBStack_1f0;
    }
    pBStack_1c8 = pBVar54;
    if (abStack_8c[(int)pBVar51] == 0) {
      if (-1 < (int)pBStack_1f0) {
        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;
        pBVar55 = (Bitvec *)0x0;
        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);
        pBVar53 = (Bitvec *)
                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +
                  abStack_130._0_4_ * 2);
        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);
        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];
        pBVar45 = (Bitvec *)
                  (pbVar39 +
                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);
        iVar18 = 0;
        pBVar47 = (Bitvec *)abStack_130._0_4_;
        pBVar52 = (Bitvec *)apsStack_150[3];
        pBVar60 = (Bitvec *)abStack_130._0_4_;
        goto LAB_000a5774;
      }
      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);
      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {
LAB_000a569c:
        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);
        pBVar55 = (Bitvec *)auStack_cc[0];
        if ((int)pBVar51 < (int)pBStack_1bc) {
          pBVar55 = (Bitvec *)
                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));
        }
        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];
        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);
        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);
        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);
        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);
        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);
        pBVar56 = (pBVar52->u).apSub[0xb];
        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);
        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));
        if ((int)pBVar55 < iVar18) {
          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))
                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);
          pBStack_1b8 = pBVar45;
          if (iVar20 <= (int)pbVar39) {
            iVar40 = (int)pbVar39 << 1;
            pbVar39 = pbVar39 + -iVar20;
            (**(code **)(puVar57 + 0xb791c))
                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,
                       iVar40);
            goto LAB_000a5774;
          }
          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);
LAB_000a5b00:
          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;
        }
        else {
LAB_000a5774:
          if ((int)pBVar60 < (int)pBVar45) {
            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))
                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,
                                auStack_cc + 3);
            pbVar39 = pbVar39 + -iVar20;
          }
          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));
          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));
          apBStack_180[0] =
               (Bitvec *)
               ((int)&pBVar56->iSize +
               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);
          if (apBStack_180[0] < pBVar53) {
LAB_000a5a94:
            if (0 < (int)pBVar47) {
LAB_000a5a9c:
              pBVar53 = (Bitvec *)(iVar18 << 1);
              pBVar60 = pBVar47;
              do {
                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);
                if (*(short *)pbVar39 == 0) {
                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->
                                     aHash[0x10])
                                     (auStack_cc[1],
                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))
                  ;
                  *(short *)pbVar39 = sVar23;
                }
                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);
                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);
              } while (pBVar60 != (Bitvec *)0x0);
            }
            pBVar60 = (Bitvec *)auStack_cc;
            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);
            goto LAB_000a5b00;
          }
          if (iVar18 < (int)pBVar55) {
            pBVar60 = (pBVar52->u).apSub[0xd];
            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);
            if ((int)pBVar47 < (int)pBVar55 - iVar18) {
              pBStack_1b8 = pBVar47;
            }
            (**(code **)(puVar57 + 0xb791c))
                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);
            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,
                                        auStack_cc);
            if (iVar20 != 0) goto LAB_000a5a94;
            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);
          }
          if ((pBVar52->u).aBitmap[0] != 0) {
            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);
            iVar20 = 0;
            do {
              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);
              iVar40 = (int)puVar35 - iVar18;
              pBStack_1b8 = pBVar51;
              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {
                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;
                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);
                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)
                ;
                if (iVar20 == 0) {
                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);
                  return;
                }
                goto LAB_000a5a9c;
              }
              iVar20 = iVar20 + 1;
              puVar46 = puVar46 + 1;
            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);
          }
          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,
                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,
                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);
          if (iVar20 != 0) goto LAB_000a5a94;
          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;
          (pBVar52->u).aBitmap[0] = '\0';
          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)
          ;
          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =
               (byte)*(undefined2 *)((int)&pBVar52->u + 10);
          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);
          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;
          pBStack_188 = (Bitvec *)0x0;
        }
        pPVar21 = apPStack_108[(int)pBVar51];
        abStack_8c[(int)pBVar51] = 1;
        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;
        goto FUN_000a5944;
      }
    }
    else {
FUN_000a5944:
      psVar59 = apsStack_150[3];
      if ((int)pBVar54 <= (int)pBStack_1e8) break;
    }
    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1);
  } while( true );
  if ((((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)) ||
     (*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1))) {
    if (((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)) {
      pBStack_1e8 = (Bitvec *)&pBStack_188;
      pBVar51 = pBStack_1ec;
      do {
        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;
        i = (int)&((Bitvec *)i)->iSize + 1;
        pBVar51 = (Bitvec *)&pBVar51->nSet;
        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',
                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);
      } while (pBVar54 != (Bitvec *)i);
    }
  }
  else {
    pBStack_188 = (Bitvec *)
                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);
    if (pBStack_188 == (Bitvec *)0x0) {
      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);
      if (pBStack_188 == (Bitvec *)0x0) {
        freePage((MemPage *)psVar59,(int *)&pBStack_188);
      }
    }
  }
  pBVar51 = pBVar54;
  while (pBVar56 = pTo, pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc) {
    if (pBStack_188 == (Bitvec *)0x0) {
      ppsVar17 = ppsStack_1dc + (int)pBVar51;
      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);
      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);
    }
    else {
      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);
    }
  }
  goto LAB_000a443c;
}



/* WARNING: Removing unreachable block (ram,0x000a4d64) */
/* WARNING: Removing unreachable block (ram,0x000a4d8c) */
/* WARNING: Removing unreachable block (ram,0x000a4f54) */
/* WARNING: Type propagation algorithm not settling */

Elf32_Ehdr *
FUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,
            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)

{
  ushort uVar1;
  ushort uVar2;
  ushort uVar3;
  bool bVar4;
  ushort uVar5;
  word wVar6;
  Elf32_Ehdr *pEVar7;
  byte bVar22;
  byte *pbVar8;
  int *piVar9;
  int iVar10;
  Elf32_Ehdr *pEVar11;
  uint *puVar12;
  undefined4 uVar13;
  short *psVar14;
  dword *pdVar15;
  undefined1 *puVar17;
  int iVar18;
  int iVar19;
  int iVar20;
  short sVar21;
  byte bVar24;
  uint uVar23;
  Elf32_Ehdr *extraout_v1;
  uint uVar25;
  Elf32_Ehdr *pEVar26;
  dword *pdVar27;
  word *pwVar28;
  undefined4 *puVar29;
  dword dVar30;
  undefined4 uVar31;
  uint uVar32;
  word *pwVar33;
  byte *pbVar34;
  int iVar35;
  undefined4 uVar36;
  byte *pbVar37;
  undefined4 uVar38;
  byte *pbVar39;
  int *piVar40;
  ushort *puVar41;
  Elf32_Ehdr *pEVar42;
  byte bVar45;
  Elf32_Ehdr **ppEVar43;
  int iVar44;
  char *pcVar46;
  Elf32_Ehdr *pEVar47;
  Elf32_Ehdr *pEVar48;
  Elf32_Ehdr *pEVar49;
  Elf32_Ehdr *pEVar50;
  Elf32_Ehdr *unaff_s6;
  Elf32_Ehdr *pEVar51;
  Elf32_Ehdr *unaff_s7;
  char *pcVar52;
  undefined *puVar53;
  Elf32_Ehdr *pEVar54;
  code *pcVar55;
  Elf32_Ehdr *pEStack_1f4;
  Elf32_Ehdr *pEStack_1f0;
  Elf32_Ehdr *pEStack_1ec;
  Elf32_Ehdr *pEStack_1e8;
  code *pcStack_1e4;
  undefined1 *puStack_1e0;
  Elf32_Ehdr **ppEStack_1dc;
  Elf32_Ehdr *pEStack_1d8;
  Elf32_Ehdr *pEStack_1d4;
  int iStack_1d0;
  Elf32_Ehdr *pEStack_1c8;
  Elf32_Ehdr *pEStack_1c4;
  byte *pbStack_1c0;
  char *pcStack_1bc;
  Elf32_Ehdr *pEStack_1b8;
  Elf32_Ehdr *pEStack_1b0;
  Elf32_Ehdr *pEStack_1a8;
  undefined1 auStack_188 [8];
  undefined1 auStack_180 [36];
  word awStack_15c [4];
  undefined1 auStack_154 [4];
  Elf32_Ehdr *pEStack_150;
  undefined1 auStack_14c [8];
  undefined1 auStack_144 [20];
  undefined1 auStack_130 [40];
  Elf32_Ehdr EStack_108;
  undefined1 auStack_cc [8];
  int iStack_c4;
  int aiStack_c0 [13];
  undefined4 uStack_8c;
  undefined1 uStack_88;
  int iStack_84;
  Elf32_Ehdr *pEStack_80;
  Elf32_Ehdr *pEStack_7c;
  Elf32_Ehdr *pEStack_78;
  undefined *puStack_74;
  Elf32_Ehdr *pEStack_70;
  Elf32_Ehdr *pEStack_6c;
  Elf32_Ehdr *pEStack_68;
  Elf32_Ehdr *pEStack_64;
  Elf32_Ehdr *pEStack_60;
  code *pcStack_5c;
  Elf32_Ehdr *pEStack_54;
  Elf32_Ehdr *pEStack_4c;
  int local_30;
  Elf32_Ehdr *local_2c;
  dword *pdVar16;
  
  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;
  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];
  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;
  bVar45 = (byte)((uint)param_6 >> 8);
  bVar22 = (byte)((uint)param_6 >> 0x10);
  bVar24 = (byte)((uint)param_6 >> 0x18);
  pEVar48 = param_2;
  pEStack_1d8 = param_3;
  pEVar50 = param_4;
  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&
     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {
    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;
    iVar10 = FUN_0009c62c();
    if (iVar10 == 0) {
      uVar25 = (uint)param_1->e_ident_pad[0];
      pbVar34 = *(byte **)&param_1[1].e_ident_class;
      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;
      local_30 = 0;
      pbVar39 = pbVar34 + uVar25 + 5;
      pbVar37 = pbVar34 + uVar25 + 6;
      unaff_s7 = (Elf32_Ehdr *)
                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);
      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);
      if (unaff_s6 < unaff_s7) {
        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&
           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),
           pEVar48 == &Elf32_Ehdr_00010000)) {
          unaff_s6 = &Elf32_Ehdr_00010000;
          goto LAB_000a3e78;
        }
        pEVar26 = (Elf32_Ehdr *)0xfcb0;
        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();
        if (iVar10 != 0) goto LAB_000a3fdc;
        unaff_s7 = (Elf32_Ehdr *)0x0;
        unaff_s6 = (Elf32_Ehdr *)0x0;
        pbVar8 = pbVar34;
      }
      else {
LAB_000a3e78:
        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&
           (unaff_s7->e_ident_magic_str < unaff_s6)) {
          pEStack_1d8 = (Elf32_Ehdr *)&local_30;
          pEVar26 = param_1;
          pEVar48 = param_4;
          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();
          if (pbVar8 != (byte *)0x0) {
            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);
            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);
            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);
            goto LAB_000a3ec4;
          }
          iVar10 = local_30;
          if (local_30 != 0) goto LAB_000a3fdc;
        }
        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {
          pEVar7 = (Elf32_Ehdr *)
                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));
          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);
          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;
          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {
            pEVar48 = pEVar7;
          }
          pEVar26 = param_1;
          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();
          iVar10 = local_30;
          if (local_30 != 0) goto LAB_000a3fdc;
          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);
        }
        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);
        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);
        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);
        *pbVar39 = (byte)((uint)unaff_s6 >> 8);
        *pbVar37 = (byte)unaff_s6;
        pbVar8 = pbVar34 + (int)unaff_s6;
      }
LAB_000a3ec4:
      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;
      if (param_6 == (Elf32_Ehdr *)0x0) {
        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);
        pEVar50 = param_4;
      }
      else {
        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;
        (*(code *)PTR_memcpy_0015ba30)
                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);
        pbVar8[3] = (byte)param_6;
        *pbVar8 = bVar24;
        pbVar8[1] = bVar22;
        pbVar8[2] = bVar45;
        pEVar50 = param_4;
      }
      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);
      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);
      pEVar48 = param_6;
      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);
      param_6->e_ident_magic_num = (byte)pEVar49;
      param_6->e_ident_magic_str[0] = (char)unaff_s7;
      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);
      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;
      bVar22 = pEVar26->e_ident_magic_num + 1;
      pEVar26->e_ident_magic_num = bVar22;
      if (bVar22 == 0) {
        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;
      }
      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {
        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;
        pEVar26 = param_1;
        pEStack_1d8 = param_3;
        pEVar50 = param_7;
        FUN_000a22e0();
      }
    }
    else {
LAB_000a3fdc:
      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);
      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);
      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);
      param_7->e_ident_magic_str[2] = (char)iVar10;
    }
  }
  else {
    pEVar7 = param_3;
    if (param_5 != 0) {
      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);
      pEVar48 = param_3;
      pEStack_1d8 = param_4;
    }
    if (param_6 != (Elf32_Ehdr *)0x0) {
      pEVar7->e_ident_magic_str[2] = (byte)param_6;
      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);
      pEVar7->e_ident_magic_num = bVar24;
      pEVar7->e_ident_magic_str[0] = bVar22;
      pEVar7->e_ident_magic_str[1] = bVar45;
    }
    uVar25 = (uint)param_1->e_ident_pad[3];
    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);
    param_1->e_ident_pad[3] = (byte)pEVar26;
    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;
    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;
    param_3 = pEVar7;
  }
  if (local_2c == *(Elf32_Ehdr **)pEVar47) {
    return *(Elf32_Ehdr **)pEVar47;
  }
  pcVar55 = FUN_000a4120;
  puVar53 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  piVar9 = *(int **)(puVar53 + 0xb790c);
  pEStack_60 = param_7;
  puStack_74 = &pEVar47->e_ident_magic_num;
  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;
  uStack_8c = 0;
  uStack_88 = 0;
  auStack_cc._0_4_ = 0;
  iStack_c4 = 0;
  iStack_84 = *piVar9;
  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);
  pEStack_80 = param_1;
  pEStack_7c = param_6;
  pEStack_78 = param_3;
  pEStack_70 = pEVar49;
  pEStack_6c = param_2;
  pEStack_68 = unaff_s6;
  pEStack_64 = unaff_s7;
  pcStack_5c = pcVar55;
  pEStack_54 = pEVar48;
  pEStack_4c = pEVar50;
  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {
    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;
    goto LAB_000a44d0;
  }
  uVar25 = (uint)(ushort)pEVar26->e_version;
  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);
  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {
    iVar10._0_1_ = pEVar26[1].e_ident_class;
    iVar10._1_1_ = pEVar26[1].e_ident_data;
    iVar10._2_1_ = pEVar26[1].e_ident_version;
    iVar10._3_1_ = pEVar26[1].e_ident_osabi;
    pEStack_54 = (Elf32_Ehdr *)0x0;
    pEStack_1d4 = pEVar49;
LAB_000a49d0:
    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);
  }
  else {
    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;
    pEVar50 = pEStack_1d4;
    if (pEVar48 != (Elf32_Ehdr *)0x0) {
      if (pEVar49 == pEVar48) {
        pEVar50 = pEVar48;
        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);
      }
      else {
        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);
        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);
      }
    }
    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];
    iVar10 = *(int *)&pEVar26[1].e_ident_class;
    if (uVar25 == uVar23) goto LAB_000a49d0;
    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;
    pEStack_1c8 = (Elf32_Ehdr *)
                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &
                                  *(ushort *)&pEVar26->e_entry));
  }
  ppEStack_1dc = &pEStack_150;
  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);
  puStack_1e0 = auStack_188;
  iStack_1d0 = (int)pEStack_1d4 * 4;
  uVar23 = (uint)pEStack_1c8 & 3;
  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;
  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;
  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);
  pEStack_1f4 = (Elf32_Ehdr *)0x0;
  pEStack_1ec = &EStack_108;
  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;
  auStack_188._4_4_ =
       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8
       ) & -1 << (uVar32 + 1) * 8 |
       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;
  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);
  pEVar48 = pEStack_1d4;
  while( true ) {
    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);
    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);
    pEVar50 = param_2;
    pEVar51 = pEVar26;
    pEVar54 = pEVar7;
    auStack_188._0_4_ = param_2;
    if (param_2 != (Elf32_Ehdr *)0x0) break;
    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);
    pEStack_1f4 = (Elf32_Ehdr *)
                  (pEStack_1f4->e_ident_magic_str +
                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);
    unaff_s7 = param_2;
    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {
      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);
      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))
                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);
      if (iStack_c4 == 0) {
        auStack_188._0_4_ = &DAT_00000007;
        goto LAB_000a4454;
      }
      pbStack_1c0 = auStack_130 + 0x14;
      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;
      auStack_cc._4_4_ = pEStack_150;
      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);
      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];
      pcStack_1bc = pEStack_1d4->e_ident_magic_str;
      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);
      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;
      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);
      pEVar54 = (Elf32_Ehdr *)0x0;
      pEVar51 = (Elf32_Ehdr *)0x0;
      uVar3 = (ushort)pEStack_150->e_version;
      uVar1 = *(ushort *)&pEStack_150->e_entry;
      pEVar50 = pEStack_150;
      pbVar34 = pbStack_1c0;
      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;
      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;
      goto LAB_000a46e0;
    }
    pcVar55 = (code *)pEVar26[1].e_entry;
    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);
    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))
    {
      pEVar47 = (Elf32_Ehdr *)
                (*(int *)&pEVar26[1].e_ident_class +
                (uint)(*(ushort *)
                        (*(int *)(pEVar26[1].e_ident_pad + 3) +
                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &
                      *(ushort *)&pEVar26->e_entry));
      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;
      auStack_188[4] = pEVar47->e_ident_magic_num;
      auStack_188[5] = pEVar47->e_ident_magic_str[0];
      auStack_188[6] = pEVar47->e_ident_magic_str[1];
      auStack_188[7] = pEVar47->e_ident_magic_str[2];
      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);
      dVar30 = pEVar7->e_version;
      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;
      if ((dVar30 & 0xc) != 0) {
        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;
        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {
          auStack_188._0_4_ =
               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);
          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);
          pEStack_1f4 = pEVar49;
          goto LAB_000a443c;
        }
        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);
        *(char **)(pcVar46 + -4) =
             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));
        pEStack_1e8 = pEVar11;
      }
      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);
      }
    }
    else {
      puVar12 = (uint *)pEVar26->e_flags;
      *(uint **)(pcVar46 + -4) = puVar12;
      auStack_188._4_4_ = *puVar12;
      uVar13 = (*pcVar55)(pEVar26,puVar12);
      pEVar26->e_ident_pad[3] = 0;
      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;
    }
    ppEVar43 = ppEVar43 + -1;
    pcVar46 = pcVar46 + -4;
    pEVar48 = pEVar42;
  }
  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);
  unaff_s7 = (Elf32_Ehdr *)0x0;
  goto LAB_000a443c;
LAB_000a45ec:
  (**(code **)(puVar53 + 0xb7894))
            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,
             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);
  if (pEVar50->e_ident_pad[3] == 0) {
LAB_000a4624:
    uVar3 = (ushort)pEVar50->e_version;
  }
  else {
    uVar25 = (uint)(ushort)pEVar50->e_entry;
    if (uVar25 != 0) {
      pcVar52 = pEVar49->e_ident_magic_str;
      do {
        uVar3._0_1_ = pEVar49->e_ident_magic_num;
        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];
        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);
        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);
        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));
      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;
    }
    pdVar27 = &pEVar50->e_flags;
    iVar10 = 0;
    do {
      dVar30 = *pdVar27;
      iVar10 = iVar10 + 1;
      pdVar27 = pdVar27 + 1;
      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;
      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);
    uVar3 = (ushort)pEVar50->e_version;
  }
  uVar2 = pEVar50->e_machine;
  iVar10 = auStack_cc._0_4_;
  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);
      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {
    uVar5._0_1_ = pEVar49->e_ident_magic_num;
    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];
    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);
    auStack_cc._0_4_ = iVar10 + 1;
    iVar10 = auStack_cc._0_4_;
  }
  auStack_cc._0_4_ = iVar10;
  *(int *)pbVar34 = iVar10;
  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {
    pcVar55 = *(code **)(puVar53 + 0xb7910);
    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);
    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);
    uVar25 = uVar23 & 0xffff;
    pcVar46 = pEVar51->e_ident_magic_str;
    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;
    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));
    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);
    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;
    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);
    *psVar14 = *psVar14 - (short)puStack_1e0;
    if (pEVar50->e_ident_abiversion == 0) {
      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =
           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);
LAB_000a4864:
      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
    }
    else {
      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;
      do {
        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;
        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';
        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);
        *psVar14 = *psVar14 + 1;
      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);
      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
    }
    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;
LAB_000a46ac:
    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;
    pbVar34 = pbVar34 + 4;
    pEVar50 = ppEStack_1dc[(int)pEVar54];
    pcVar46 = *(char **)&pEVar50[1].e_ident_class;
    uVar3 = (ushort)pEVar50->e_version;
    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);
    uVar1 = *(ushort *)&pEVar50->e_entry;
    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;
    goto LAB_000a45ec;
  }
  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;
LAB_000a487c:
  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));
  iVar44 = 0;
  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;
  pEVar49 = &EStack_108;
  iVar10 = 0;
  pEVar47 = pEStack_150;
  while( true ) {
    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;
    iVar18 = *(int *)(pbStack_1c0 + iVar10);
    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;
    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;
    iVar20 = iVar44 + 1;
    if (pcStack_1e4 == (code *)0x0) {
      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion
      ;
      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;
      iVar20 = iVar44 + 2;
    }
    iVar44 = iVar20;
    bVar22 = pEVar47->e_ident_pad[3];
    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;
    *(int *)pEVar49 = iVar20;
    if (bVar22 != 0) {
      pdVar27 = &pEVar47->e_flags;
      iVar35 = 0;
      do {
        dVar30 = *pdVar27;
        iVar35 = iVar35 + 1;
        pdVar27 = pdVar27 + 1;
        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);
        bVar22 = pEVar47->e_ident_pad[3];
        iVar20 = iVar20 + iVar19 + 2;
        *(int *)pEVar49 = iVar20;
      } while (iVar35 < (int)(uint)bVar22);
    }
    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;
    if (iStack_1d0 == iVar10) break;
    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);
    iVar10 = iVar10 + 4;
  }
  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;
  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);
  pEVar47 = (Elf32_Ehdr *)0x1;
  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;
  pEVar42 = pEStack_1a8;
  pEVar54 = &EStack_108;
  pEStack_1f0 = (Elf32_Ehdr *)0x0;
  while( true ) {
    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);
    iVar44._0_1_ = pEVar54->e_ident_magic_num;
    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];
    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];
    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];
    pEStack_1b8 = (Elf32_Ehdr *)0x0;
    pEVar50 = pEVar48;
    pEVar11 = pEVar48;
    pEVar51 = pEVar42;
    pEStack_1d4 = pEStack_1a8;
    pEStack_1b0 = pEVar7;
    if ((int)pEStack_1f4 < iVar44) {
      do {
        pEVar48 = pEVar50;
        if ((int)pEVar11 <= (int)pEVar47) {
          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {
            uVar13 = 0x11477;
            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;
            pEStack_1b8 = pEStack_1c4;
            goto LAB_000a46ec;
          }
          pEVar54->e_ident_class = 0;
          pEVar54->e_ident_data = 0;
          pEVar54->e_ident_version = 0;
          pEVar54->e_ident_osabi = 0;
          pEVar42->e_ident_class = auStack_cc[0];
          pEVar42->e_ident_data = auStack_cc[1];
          pEVar42->e_ident_version = auStack_cc[2];
          pEVar42->e_ident_osabi = auStack_cc[3];
          pEVar11 = pEVar49;
        }
        pEVar48 = pEVar11;
        pEVar51 = *(Elf32_Ehdr **)pEVar42;
        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);
        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);
        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);
        if (uVar25 == 0) {
          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);
          pEStack_1f0 = pEVar11;
        }
        iVar10 = uVar25 + 2;
        iVar44 = *(int *)pEVar54 - iVar10;
        *(int *)pEVar54 = iVar44;
        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&
           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,
           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {
          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);
          iVar10 = iVar10 + 2;
        }
        iVar20 = *(int *)&pEVar54->e_ident_class;
        *(Elf32_Ehdr **)pEVar42 = pEVar50;
        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;
        pEVar11 = pEVar48;
      } while ((int)pEStack_1f4 < iVar44);
    }
    else {
      pEVar50 = *(Elf32_Ehdr **)pEVar42;
    }
    iVar10 = auStack_cc._0_4_;
    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;
    while( true ) {
      iVar44 = (int)pEVar50 * 2;
      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);
      if (uVar25 == 0) {
        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);
        iVar10 = auStack_cc._0_4_;
      }
      iVar20 = uVar25 + 2;
      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;
      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;
      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;
      *(Elf32_Ehdr **)pEVar42 = pEVar50;
      bVar4 = (int)pEVar50 < iVar10;
      if (pcStack_1e4 == (code *)0x0) {
        if (!bVar4) goto LAB_000a4c3c;
        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);
        iVar20 = uVar25 + 2;
        if (uVar25 == 0) {
          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);
          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;
          iVar20 = iVar20 + 2;
          iVar10 = auStack_cc._0_4_;
        }
      }
      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;
      if (!bVar4) goto LAB_000a4c3c;
    }
    if (iVar10 <= (int)pEVar50) break;
    iVar20 = 0;
    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {
      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;
      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;
    }
    bVar4 = (int)pEVar48 <= (int)pEVar47;
    pEStack_1f0 = pEVar48;
    if ((int)pEVar50 <= iVar20) {
      uVar13 = 0x11498;
      pEVar51 = pEVar42;
      pEStack_1b8 = pEStack_1c4;
      goto LAB_000a46ec;
    }
    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;
    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;
    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;
    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;
    if (bVar4) {
      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);
      pEVar47 = pEVar48;
      break;
    }
  }
LAB_000a4c3c:
  iVar10 = (int)pEStack_1c4 * 4;
  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {
LAB_000a4ef4:
    pEStack_1ec = (Elf32_Ehdr *)auStack_144;
    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);
    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);
    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);
    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);
    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;
    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;
    pEVar49 = pEStack_1ec;
    pEVar50 = (Elf32_Ehdr *)0x0;
    do {
      pEVar42 = pEVar50;
      pEVar50 = pEVar48;
      if ((int)pEVar42 < (int)pcStack_1bc) {
        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];
        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;
        *(undefined4 *)pEVar49 = auStack_180._0_4_;
        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);
joined_r0x000a5018:
        pEVar51 = pEVar26;
        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;
        pEVar54 = pEVar7;
        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
      }
      else {
        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);
        pEVar51 = pEVar26;
        unaff_s7 = pEVar42;
        pEVar54 = pEVar7;
        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);
        uVar13 = auStack_cc._0_4_;
        wVar6 = pEVar7->e_type;
        pEVar49->e_ident_magic_num = auStack_180[0];
        pEVar49->e_ident_magic_str[0] = auStack_180[1];
        pEVar49->e_ident_magic_str[1] = auStack_180[2];
        pEVar49->e_ident_magic_str[2] = auStack_180[3];
        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;
        if ((char)wVar6 != '\0') {
          uVar13._0_1_ = pEVar26->e_ident_class;
          uVar13._1_1_ = pEVar26->e_ident_data;
          uVar13._2_1_ = pEVar26->e_ident_version;
          uVar13._3_1_ = pEVar26->e_ident_osabi;
          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);
          goto joined_r0x000a5018;
        }
      }
      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;
      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
    } while ((int)pEVar50 < (int)pEVar47);
    piVar40 = (int *)(auStack_144 + 4);
    pwVar28 = &EStack_108.e_phnum;
    pwVar33 = awStack_15c;
    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);
    puVar17 = (undefined1 *)0x1;
    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);
    EStack_108.e_phentsize = (short)EStack_108.e_version;
    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);
    pdVar27 = &EStack_108.e_version;
    while( true ) {
      pwVar33 = pwVar33 + 1;
      iVar10 = *(int *)(puVar53 + 0xb753c);
      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;
      uVar25 = *(uint *)(*piVar40 + 4);
      iVar10 = *(int *)(*piVar40 + 0x48);
      pdVar27[1] = uVar25;
      *(uint *)pwVar28 = uVar25;
      bVar4 = uVar25 == EStack_108.e_version;
      *pwVar33 = *(word *)(iVar10 + 0x1c);
      pdVar15 = &EStack_108.e_version;
      if (bVar4) {
        iVar10 = *(int *)(puVar53 + 0xb7620);
LAB_000a5138:
        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);
        pEVar51 = pEVar26;
        unaff_s7 = pEVar50;
        pEVar54 = pEVar7;
        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);
        goto LAB_000a443c;
      }
      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {
        iVar10 = *(int *)(puVar53 + 0xb7620);
        pdVar15 = pdVar16;
        if (uVar25 == *pdVar16) goto LAB_000a5138;
      }
      puVar17 = puVar17 + 1;
      pdVar27 = pdVar27 + 1;
      piVar40 = piVar40 + 1;
      pwVar28 = pwVar28 + 2;
    }
    iVar44 = 0;
    pEVar49 = pEStack_1ec;
    do {
      uVar25._0_2_ = EStack_108.e_ehsize;
      uVar25._2_2_ = EStack_108.e_phentsize;
      if (pEVar50 == (Elf32_Ehdr *)0x1) {
        auStack_188._4_2_ = EStack_108.e_ehsize;
        auStack_188._6_2_ = EStack_108.e_phentsize;
        EStack_108.e_ehsize = 0xffff;
        EStack_108.e_phentsize = 0xffff;
        if (iVar44 == 0) goto LAB_000a5230;
        iVar20 = 0;
LAB_000a51ec:
        iVar35 = *(int *)pEVar49;
        iVar18 = *(int *)(iVar35 + 0x48);
        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];
        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);
        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;
      }
      else {
        pwVar28 = &EStack_108.e_ehsize;
        iVar20 = 0;
        iVar18 = 1;
        auStack_188._4_4_ = EStack_108._40_4_;
        do {
          uVar25 = *(uint *)(pwVar28 + 2);
          pwVar28 = pwVar28 + 2;
          if (uVar25 < (uint)auStack_188._4_4_) {
            iVar20 = iVar18;
          }
          iVar18 = iVar18 + 1;
          if (uVar25 < (uint)auStack_188._4_4_) {
            auStack_188._4_4_ = uVar25;
          }
        } while (pEVar50 != (Elf32_Ehdr *)iVar18);
        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;
        pbVar34[0] = 0xff;
        pbVar34[1] = 0xff;
        pbVar34[2] = 0xff;
        pbVar34[3] = 0xff;
        if (iVar20 != iVar44) {
          if (iVar44 < iVar20) {
            iVar35 = *(int *)&pEVar7->e_phnum;
            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);
            *(undefined2 *)(iVar18 + 0x1c) = 0;
            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);
          }
          goto LAB_000a51ec;
        }
      }
      iVar44 = iVar44 + 1;
      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
      uVar25 = auStack_188._4_4_;
      if (pEVar50 == (Elf32_Ehdr *)iVar44) {
LAB_000a5230:
        auStack_188._4_4_ = uVar25;
        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);
        uVar13 = *(undefined4 *)(iVar10 + 4);
        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;
        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);
        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);
        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);
        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {
          puVar17 = auStack_14c + 4;
          if ((int)pEVar50 <= (int)pcStack_1bc) {
            puVar17 = auStack_154;
          }
          iVar10 = *(int *)(iVar10 + 0x38);
          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);
          uVar25 = iVar10 + 8;
          uVar23 = uVar25 & 3;
          puVar12 = (uint *)(uVar25 - uVar23);
          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;
          uVar25 = iVar10 + 0xb;
          uVar23 = uVar25 & 3;
          puVar12 = (uint *)(uVar25 - uVar23);
          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;
        }
        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;
        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;
        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;
        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;
        pEStack_1f0 = (Elf32_Ehdr *)
                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +
                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);
        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;
        pEStack_1d4 = (Elf32_Ehdr *)0x0;
        param_3 = (Elf32_Ehdr *)0x0;
        pEStack_1c8 = (Elf32_Ehdr *)0x0;
        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);
        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);
        pEVar47 = (Elf32_Ehdr *)0x0;
        iVar10 = auStack_cc._0_4_;
        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;
        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;
        pEStack_1b0 = pEVar42;
        goto LAB_000a53dc;
      }
    } while( true );
  }
  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);
  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);
  pEStack_1e8 = pEStack_1c4;
  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);
  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);
  do {
    pEStack_1d4 = pEVar51;
    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);
    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;
    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);
    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);
    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {
      (*(code *)pEStack_1f0)(auStack_cc);
    }
    do {
      pEVar54 = pEVar51;
      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {
        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);
      }
      if (pEVar50 != (Elf32_Ehdr *)0x0) {
        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;
        break;
      }
      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);
      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);
      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;
      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);
      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));
      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;
    } while (-1 < (int)pEVar51);
    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;
    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;
    pEStack_1b0 = pEVar47;
    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {
      bVar4 = 0 < (int)pEVar54;
      pEVar48 = pEVar47;
      pEVar50 = pEVar54;
      pEVar51 = pEVar26;
      pEVar54 = pEVar7;
      if (bVar4) goto LAB_000a4ef4;
      break;
    }
    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;
    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;
    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;
    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;
    pEVar50 = pEVar49;
  } while (iVar18 < (int)pEVar54);
  uVar13 = 0x114c2;
LAB_000a46ec:
  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);
  pEVar47 = pEVar48;
LAB_000a443c:
  param_2 = pEVar50;
  pEVar26 = pEVar51;
  pEVar7 = pEVar54;
  if (iStack_c4 != 0) {
    (**(code **)(puVar53 + 0xb7500))();
  }
LAB_000a4454:
  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);
  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);
  param_1 = (Elf32_Ehdr *)ppEStack_1dc;
  do {
    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {
      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);
    }
    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);
  } while (param_1 != param_6);
  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;
  if (unaff_s7 != (Elf32_Ehdr *)0x0) {
    param_1 = (Elf32_Ehdr *)auStack_144;
    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);
    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);
    do {
      if (*(int *)param_1 != 0) {
        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));
      }
      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);
      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;
    } while (param_6 != param_1);
  }
LAB_000a44d0:
  if (iStack_84 == *piVar9) {
    return pEVar48;
  }
  iVar10 = iStack_84;
  (**(code **)(puVar53 + 0xb78f0))();
  pEVar48 = extraout_v1;
  pEVar50 = param_2;
  param_2 = unaff_s7;
  do {
    if ((pEVar48 <= pEVar49) &&
       (pEVar49 < (Elf32_Ehdr *)
                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))
    goto LAB_000a53d0;
    do {
      if (puStack_1e0 == (undefined1 *)0x0) {
        uVar31._0_1_ = pEVar49->e_ident_magic_num;
        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];
        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];
        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];
        uVar36._0_1_ = param_6->e_ident_class;
        uVar36._1_1_ = param_6->e_ident_data;
        uVar36._2_1_ = param_6->e_ident_version;
        uVar36._3_1_ = param_6->e_ident_osabi;
        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);
      }
      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);
      if (uVar25 == 0) {
        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);
      }
      if (param_6->e_type < uVar25) {
        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);
      }
      iVar10 = auStack_cc._0_4_;
      pEVar51 = pEVar26;
      unaff_s7 = pEVar50;
      pEVar54 = pEVar7;
      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
LAB_000a53d0:
      do {
        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;
        pEVar42 = pEStack_1b0;
        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;
LAB_000a53dc:
        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);
        if (pEVar47 == pEStack_1f0) {
          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;
          if ((int)param_3 < (int)pEVar50) {
            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);
          }
          else {
            param_1 = (&pEStack_150)[(int)param_3];
          }
          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;
          pEStack_1f0 = (Elf32_Ehdr *)
                        (pEStack_1f0->e_ident_magic_str +
                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +
                        (uint)(pcStack_1e4 == (code *)0x0) + -1);
        }
        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;
        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;
        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);
        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);
      } while (pcStack_1e4 == (code *)0x0);
    } while (((int)pEVar50 <= (int)param_3) ||
            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,
            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,
            pEVar48 = pEStack_1e8,
            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));
  } while( true );
LAB_000a46e0:
  uVar13 = 0x11403;
  pEStack_1ec = (Elf32_Ehdr *)0x0;
  pEStack_1f0 = &EStack_108;
  pEStack_1e8 = pEVar7;
  pEStack_1d4 = pEVar26;
  goto LAB_000a46ec;
LAB_000a5474:
  unaff_s7 = pEVar50;
  if (pEVar42 != (Elf32_Ehdr *)0x0) {
    pEStack_1f0 = (Elf32_Ehdr *)0x0;
    pEStack_1d4 = (Elf32_Ehdr *)
                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));
    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;
    iVar10 = *(int *)(puVar53 + 0xb75e4);
    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);
    pEVar48 = pEStack_54;
    pEVar49 = pEStack_1ec;
    do {
      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)
                        );
      pEVar47 = *(Elf32_Ehdr **)pEVar49;
      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);
      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);
      pbVar34 = (byte *)*puVar29;
      puVar17 = puStack_1e0 + uVar25;
      if (pEVar47->e_ident_abiversion == 0) {
        uVar32 = *(uint *)pbVar34;
        iVar44 = *(int *)&pEVar47[1].e_ident_class;
        uVar25 = iVar44 + 8;
        uVar23 = uVar25 & 3;
        puVar12 = (uint *)(uVar25 - uVar23);
        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;
        uVar25 = iVar44 + 0xb;
        uVar23 = uVar25 & 3;
        puVar12 = (uint *)(uVar25 - uVar23);
        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;
      }
      else if (pcStack_1e4 == (code *)0x0) {
        pbVar34 = pbVar34 + -4;
        if (uVar25 == 4) {
          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);
          pbStack_1c0 = pbVar34;
        }
      }
      else {
        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);
        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&
           ((uint)auStack_180._4_4_ < 0x80)) {
          pbVar37[4] = (byte)auStack_180._4_4_;
          iVar44 = 1;
        }
        else {
          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);
        }
        puVar17 = (undefined1 *)(iVar44 + 4);
        pbVar34 = pbVar37;
        pbVar37 = (byte *)0x0;
      }
      uVar38._0_1_ = pEVar47->e_ident_class;
      uVar38._1_1_ = pEVar47->e_ident_data;
      uVar38._2_1_ = pEVar47->e_ident_version;
      uVar38._3_1_ = pEVar47->e_ident_osabi;
      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));
      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);
      pEVar51 = pEVar26;
      pEVar54 = pEVar7;
      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);
      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;
      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;
      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
    } while (pEVar48 != pEStack_1d4);
  }
  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;
  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;
  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);
  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);
  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);
  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);
  iVar10 = *(int *)(puVar53 + 0xb7620);
  pEVar47 = pEStack_1c4;
  do {
    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);
    pEVar48 = pEStack_1f0;
    if ((int)pEStack_1f0 < 0) {
      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;
    }
    pEStack_1c8 = pEVar50;
    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {
      if (-1 < (int)pEStack_1f0) {
        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;
        iVar20 = 0;
        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);
        pEVar49 = (Elf32_Ehdr *)
                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +
                  auStack_130._0_4_ * 2);
        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);
        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;
        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);
        iVar44 = 0;
        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;
        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;
        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;
        goto LAB_000a5774;
      }
      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);
      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=
          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {
LAB_000a569c:
        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);
        iVar20 = auStack_cc._0_4_;
        if ((int)pEVar48 < (int)pcStack_1bc) {
          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +
                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);
        }
        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);
        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);
        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);
        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;
        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);
        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];
        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;
        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);
        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);
        if (iVar20 < iVar44) {
          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))
                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);
          pEStack_1b8 = pEVar11;
          if (iVar18 <= (int)pcVar46) {
            iVar35 = (int)pcVar46 << 1;
            pcVar46 = pcVar46 + -iVar18;
            (**(code **)(puVar53 + 0xb791c))
                      (*(int *)(pEVar47[1].e_ident_pad + 3),
                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);
            goto LAB_000a5774;
          }
          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);
LAB_000a5b00:
          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
        }
        else {
LAB_000a5774:
          if ((int)pEVar54 < (int)pEVar11) {
            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))
                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);
            pcVar46 = pcVar46 + -iVar18;
          }
          pEStack_1b0 = (Elf32_Ehdr *)
                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));
          auStack_180._0_4_ =
               pEVar51->e_ident_magic_str +
               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],
                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);
          if ((uint)auStack_180._0_4_ < pEVar49) {
LAB_000a5a94:
            if (0 < (int)pEVar42) {
LAB_000a5a9c:
              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);
              pEVar54 = pEVar42;
              do {
                iVar20 = aiStack_c0[0] + -1;
                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {
                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)
                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)
                                     );
                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;
                }
                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);
                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);
              } while (pEVar54 != (Elf32_Ehdr *)0x0);
            }
            pEVar54 = (Elf32_Ehdr *)auStack_cc;
            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);
            goto LAB_000a5b00;
          }
          if (iVar44 < iVar20) {
            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);
            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);
            if ((int)pEVar42 < iVar20 - iVar44) {
              pEStack_1b8 = pEVar42;
            }
            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)
            ;
            iVar18 = (*(code *)pEStack_1d4)
                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);
            if (iVar18 != 0) goto LAB_000a5a94;
            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);
          }
          uVar25 = (uint)pEVar47->e_ident_pad[3];
          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);
          if (uVar25 != 0) {
            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);
            iVar35 = 0;
            do {
              uVar3 = *puVar41;
              iVar19 = ((uint)uVar3 + iVar20) - iVar44;
              pEStack_1b8 = pEVar48;
              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {
                iVar18 = iVar18 + iVar19 * 2;
                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);
                pcVar46 = pcVar46 + 1;
                iVar18 = (*(code *)pEStack_1d4)
                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,
                                    auStack_cc);
                if (iVar18 != 0) goto LAB_000a5a9c;
                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);
                uVar25 = (uint)pEVar47->e_ident_pad[3];
              }
              iVar35 = iVar35 + 1;
              puVar41 = puVar41 + 1;
            } while (iVar35 < (int)uVar25);
          }
          iVar20 = (*(code *)pEStack_1d4)
                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44
                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);
          if (iVar20 != 0) goto LAB_000a5a94;
          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;
          pEVar47->e_ident_pad[3] = 0;
          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =
               (byte)((uint)pEVar42 >> 8);
          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =
               (byte)(short)pEVar47->e_version;
          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =
               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);
          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;
          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;
        }
        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);
        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';
        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;
        goto LAB_000a5944;
      }
    }
    else {
LAB_000a5944:
      uVar13 = auStack_144._0_4_;
      if ((int)pEVar50 <= (int)pEStack_1e8) break;
    }
    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;
  } while( true );
  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||
     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {
    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {
      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;
      pEVar48 = pEStack_1ec;
      do {
        iVar10 = *(int *)pEVar48;
        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;
        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;
        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,
                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);
      } while (pEVar50 != param_2);
    }
  }
  else {
    auStack_188._0_4_ =
         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);
    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
      FUN_000a25bc(uVar13,pEVar26,auStack_188);
      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
        FUN_000a3c84(uVar13,auStack_188);
      }
    }
  }
  pEVar48 = pEVar50;
  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {
    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
      ppEVar43 = ppEStack_1dc + (int)pEVar48;
      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;
      FUN_000a3c84(*ppEVar43,auStack_188);
    }
    else {
      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;
    }
  }
  goto LAB_000a443c;
}


lui gp,0xc
addiu gp,gp,-0x720
addu gp,gp,t9
addiu sp,sp,-0x58
sw s3,0x3c(sp)
sw s8,0x50(sp)
sw s5,0x44(sp)
or s5,a1,zero
sw s2,0x38(sp)
or s2,a2,zero
sw s1,0x34(sp)
sw s0,0x30(sp)
or s0,a0,zero
sw gp,0x10(sp)
sw ra,0x54(sp)
sw s7,0x4c(sp)
sw s6,0x48(sp)
sw s4,0x40(sp)
lw s3,-0x7b84(gp)
lbu s4,0xc(a0)
lw v1,0x68(sp)
lw s1,0x6c(sp)
lw v0,0x0(s3)
lw s8,0x70(sp)
sw v0,0x2c(sp)
bne s4,zero,0x000a3d4c
_addiu v0,a3,0x1
lhu a0,0x14(a0)
slt v0,v0,a0
bne v0,zero,0x000a3df8
_lw t9,-0x7eac(gp)
beq v1,zero,0x000a3d6c
_lw t9,-0x7b80(gp)
or a1,s2,zero
or a2,a3,zero
jalr t9
_or a0,v1,zero
lw gp,0x10(sp)
or s2,v0,zero
bne s1,zero,0x000a3ddc
_srl v1,s1,0x18
lbu a0,0xc(s0)
addiu v1,a0,0x8
addiu v0,a0,0xc
sll v1,v1,0x2
sll v0,v0,0x1
addu v1,s0,v1
addu v0,s0,v0
addiu a0,a0,0x1
sb a0,0xc(s0)
sw s2,0x4(v1)
sh s5,0x2(v0)
lw v1,0x2c(sp)
lw v0,0x0(s3)
bne v1,v0,0x000a4114
_lw ra,0x54(sp)
lw s8,0x50(sp)
lw s7,0x4c(sp)
lw s6,0x48(sp)
lw s5,0x44(sp)
lw s4,0x40(sp)
lw s3,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x58
sb s1,0x3(s2)
srl v0,s1,0x10
srl s1,s1,0x8
sb v1,0x0(s2)
sb v0,0x1(s2)
b 0x000a3d74
_sb s1,0x2(s2)
lw a0,0x48(s0)
addiu t9,t9,-0x39d4
bal 0x0009c62c
_sw a3,0x64(sp)
lw gp,0x10(sp)
bne v0,zero,0x000a3fdc
_lw a3,0x64(sp)
lbu v0,0x9(s0)
lw v1,0x38(s0)
lhu s7,0x16(s0)
addiu t1,v0,0x5
lhu a1,0x12(s0)
addiu t0,v0,0x6
sw zero,0x28(sp)
addu t1,v1,t1
addu t0,v1,t0
sll s7,s7,0x1
lbu s6,0x0(t1)
lbu a0,0x0(t0)
addu s7,s7,a1
sll s6,s6,0x8
or s6,s6,a0
slt a0,s6,s7
beq a0,zero,0x000a3e78
_nop
bne s6,zero,0x000a401c
_lui a0,0x1
lw a1,0x34(s0)
lw a1,0x24(a1)
bne a1,a0,0x000a4020
_lw t9,-0x7e70(gp)
lui s6,0x1
addu v0,v1,v0
lbu a0,0x2(v0)
beq a0,zero,0x000a3fe4
_nop
addiu v0,s7,0x1
slt v0,v0,s6
bne v0,zero,0x000a40c4
_lw t9,-0x7e70(gp)
addiu v0,s7,0x2
addu v0,v0,a3
slt v0,s6,v0
bne v0,zero,0x000a4054
_addiu a1,a3,0x2
subu s6,s6,a3
ext s4,s6,0x8,0x8
andi s7,s6,0xff
addu t2,v1,s6
sb s4,0x0(t1)
sb s7,0x0(t0)
lhu v0,0x14(s0)
subu v0,v0,a3
addiu v0,v0,-0x2
beq s1,zero,0x000a3ff8
_sh v0,0x14(s0)
addiu s6,s6,0x4
lw t9,-0x7b80(gp)
addiu a2,a3,-0x4
sw t2,0x20(sp)
addu a0,v1,s6
sw v1,0x1c(sp)
jalr t9
_addiu a1,s2,0x4
srl a0,s1,0x18
lw t2,0x20(sp)
srl v0,s1,0x10
lw gp,0x10(sp)
lw v1,0x1c(sp)
sb s1,0x3(t2)
srl s1,s1,0x8
sb a0,0x0(t2)
sb v0,0x1(t2)
sb s1,0x2(t2)
lw s1,0x40(s0)
sll v0,s5,0x1
lhu a2,0x16(s0)
lw t9,-0x7b74(gp)
addu s1,s1,v0
sw v1,0x1c(sp)
subu a2,a2,s5
addiu a0,s1,0x2
sll a2,a2,0x1
jalr t9
_or a1,s1,zero
lw gp,0x10(sp)
lw v1,0x1c(sp)
sb s4,0x0(s1)
sb s7,0x1(s1)
lbu a0,0x9(s0)
lhu v0,0x16(s0)
addiu a0,a0,0x4
addiu v0,v0,0x1
addu a0,v1,a0
sh v0,0x16(s0)
lbu v0,0x0(a0)
addiu v0,v0,0x1
andi v0,v0,0xff
bne v0,zero,0x000a3fa0
_sb v0,0x0(a0)
lbu v0,0x9(s0)
addiu v0,v0,0x3
addu v1,v1,v0
lbu v0,0x0(v1)
addiu v0,v0,0x1
sb v0,0x0(v1)
lw v0,0x34(s0)
lbu v0,0x11(v0)
beq v0,zero,0x000a3da0
_lw t9,-0x7eac(gp)
addiu a1,s0,0x3c
or a3,s8,zero
or a2,s2,zero
addiu t9,t9,0x22e0
bal 0x000a22e0
_or a0,s0,zero
b 0x000a3da0
_lw gp,0x10(sp)
lw v0,0x28(sp)
beq v0,zero,0x000a3e98
_nop
b 0x000a3da0
_sw v0,0x0(s8)
lbu v0,0x1(v0)
bne v0,zero,0x000a3e88
_addiu v0,s7,0x2
b 0x000a3ea0
_addu v0,v0,a3
lw t9,-0x7b80(gp)
or a2,a3,zero
sw v1,0x1c(sp)
or a1,s2,zero
jalr t9
_or a0,t2,zero
lw gp,0x10(sp)
b 0x000a3f20
_lw v1,0x1c(sp)
lw t9,-0x7e70(gp)
ori a0,zero,0xfcb0
sw a3,0x64(sp)
addiu t9,t9,-0x75c0
jalr t9
_sw v1,0x1c(sp)
lw gp,0x10(sp)
lw v1,0x1c(sp)
bne v0,zero,0x000a3fdc
_lw a3,0x64(sp)
or s7,zero,zero
or t2,v1,zero
b 0x000a3ec4
_or s6,zero,zero
lhu v0,0x14(s0)
lw t9,-0x7e70(gp)
or a0,s0,zero
sw t0,0x24(sp)
subu v0,v0,a1
sw t1,0x20(sp)
li a1,0x4
sw v1,0x1c(sp)
slti a2,v0,0x5
sw a3,0x64(sp)
addiu t9,t9,-0x5910
jalr t9
_movn a1,v0,a2
lw gp,0x10(sp)
bne v0,zero,0x000a3fdc
_sw v0,0x28(sp)
lw t1,0x20(sp)
lw t0,0x24(sp)
lw v1,0x1c(sp)
lw a3,0x64(sp)
lbu s6,0x0(t1)
lbu v0,0x0(t0)
sll s6,s6,0x8
or s6,s6,v0
addiu s6,s6,-0x1
andi s6,s6,0xffff
b 0x000a3eac
_addiu s6,s6,0x1
addiu a2,sp,0x28
sw t0,0x24(sp)
or a1,a3,zero
sw t1,0x20(sp)
or a0,s0,zero
addiu t9,t9,-0x5a84
sw v1,0x1c(sp)
jalr t9
_sw a3,0x64(sp)
lw gp,0x10(sp)
or t2,v0,zero
lw a3,0x64(sp)
lw v1,0x1c(sp)
lw t1,0x20(sp)
beq v0,zero,0x000a3fd0
_lw t0,0x24(sp)
subu s6,v0,v1
ext s4,s6,0x8,0x8
b 0x000a3ec4
_andi s7,s6,0xff
lw t9,-0x7ba0(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Removing unreachable block (ram,0x000a4d64) */\n/* WARNING: Removing unreachable block (ram,0x000a4d8c) */\n/* WARNING: Removing unreachable block (ram,0x000a4f54) */\n/* WARNING: Type propagation algorithm not settling */\n\nElf32_Ehdr *\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}\n\n" comment comment comment comment (function_definition "Elf32_Ehdr *\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}" type_identifier (pointer_declarator "*\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" * (function_declarator "FUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" identifier (parameter_list "(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" ( (parameter_declaration "Elf32_Ehdr *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "Elf32_Ehdr *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) )))) (compound_statement "{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "word wVar6;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar7;" type_identifier (pointer_declarator "*pEVar7" * identifier) ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEVar11;" type_identifier (pointer_declarator "*pEVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "short *psVar14;" (sized_type_specifier "short" short) (pointer_declarator "*psVar14" * identifier) ;) (declaration "dword *pdVar15;" type_identifier (pointer_declarator "*pdVar15" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "short sVar21;" (sized_type_specifier "short" short) identifier ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "Elf32_Ehdr *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar26;" type_identifier (pointer_declarator "*pEVar26" * identifier) ;) (declaration "dword *pdVar27;" type_identifier (pointer_declarator "*pdVar27" * identifier) ;) (declaration "word *pwVar28;" type_identifier (pointer_declarator "*pwVar28" * identifier) ;) (declaration "undefined4 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "dword dVar30;" type_identifier identifier ;) (declaration "undefined4 uVar31;" type_identifier identifier ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "word *pwVar33;" type_identifier (pointer_declarator "*pwVar33" * identifier) ;) (declaration "byte *pbVar34;" type_identifier (pointer_declarator "*pbVar34" * identifier) ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "undefined4 uVar36;" type_identifier identifier ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "undefined4 uVar38;" type_identifier identifier ;) (declaration "byte *pbVar39;" type_identifier (pointer_declarator "*pbVar39" * identifier) ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "ushort *puVar41;" type_identifier (pointer_declarator "*puVar41" * identifier) ;) (declaration "Elf32_Ehdr *pEVar42;" type_identifier (pointer_declarator "*pEVar42" * identifier) ;) (declaration "byte bVar45;" type_identifier identifier ;) (declaration "Elf32_Ehdr **ppEVar43;" type_identifier (pointer_declarator "**ppEVar43" * (pointer_declarator "*ppEVar43" * identifier)) ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "char *pcVar46;" primitive_type (pointer_declarator "*pcVar46" * identifier) ;) (declaration "Elf32_Ehdr *pEVar47;" type_identifier (pointer_declarator "*pEVar47" * identifier) ;) (declaration "Elf32_Ehdr *pEVar48;" type_identifier (pointer_declarator "*pEVar48" * identifier) ;) (declaration "Elf32_Ehdr *pEVar49;" type_identifier (pointer_declarator "*pEVar49" * identifier) ;) (declaration "Elf32_Ehdr *pEVar50;" type_identifier (pointer_declarator "*pEVar50" * identifier) ;) (declaration "Elf32_Ehdr *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Elf32_Ehdr *pEVar51;" type_identifier (pointer_declarator "*pEVar51" * identifier) ;) (declaration "Elf32_Ehdr *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "char *pcVar52;" primitive_type (pointer_declarator "*pcVar52" * identifier) ;) (declaration "undefined *puVar53;" type_identifier (pointer_declarator "*puVar53" * identifier) ;) (declaration "Elf32_Ehdr *pEVar54;" type_identifier (pointer_declarator "*pEVar54" * identifier) ;) (declaration "code *pcVar55;" type_identifier (pointer_declarator "*pcVar55" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1f4;" type_identifier (pointer_declarator "*pEStack_1f4" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1f0;" type_identifier (pointer_declarator "*pEStack_1f0" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1ec;" type_identifier (pointer_declarator "*pEStack_1ec" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1e8;" type_identifier (pointer_declarator "*pEStack_1e8" * identifier) ;) (declaration "code *pcStack_1e4;" type_identifier (pointer_declarator "*pcStack_1e4" * identifier) ;) (declaration "undefined1 *puStack_1e0;" type_identifier (pointer_declarator "*puStack_1e0" * identifier) ;) (declaration "Elf32_Ehdr **ppEStack_1dc;" type_identifier (pointer_declarator "**ppEStack_1dc" * (pointer_declarator "*ppEStack_1dc" * identifier)) ;) (declaration "Elf32_Ehdr *pEStack_1d8;" type_identifier (pointer_declarator "*pEStack_1d8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1d4;" type_identifier (pointer_declarator "*pEStack_1d4" * identifier) ;) (declaration "int iStack_1d0;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_1c8;" type_identifier (pointer_declarator "*pEStack_1c8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1c4;" type_identifier (pointer_declarator "*pEStack_1c4" * identifier) ;) (declaration "byte *pbStack_1c0;" type_identifier (pointer_declarator "*pbStack_1c0" * identifier) ;) (declaration "char *pcStack_1bc;" primitive_type (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1b8;" type_identifier (pointer_declarator "*pEStack_1b8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1b0;" type_identifier (pointer_declarator "*pEStack_1b0" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1a8;" type_identifier (pointer_declarator "*pEStack_1a8" * identifier) ;) (declaration "undefined1 auStack_188 [8];" type_identifier (array_declarator "auStack_188 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_180 [36];" type_identifier (array_declarator "auStack_180 [36]" identifier [ number_literal ]) ;) (declaration "word awStack_15c [4];" type_identifier (array_declarator "awStack_15c [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_154 [4];" type_identifier (array_declarator "auStack_154 [4]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr *pEStack_150;" type_identifier (pointer_declarator "*pEStack_150" * identifier) ;) (declaration "undefined1 auStack_14c [8];" type_identifier (array_declarator "auStack_14c [8]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_144 [20];" type_identifier (array_declarator "auStack_144 [20]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_130 [40];" type_identifier (array_declarator "auStack_130 [40]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr EStack_108;" type_identifier identifier ;) (declaration "undefined1 auStack_cc [8];" type_identifier (array_declarator "auStack_cc [8]" identifier [ number_literal ]) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "int aiStack_c0 [13];" primitive_type (array_declarator "aiStack_c0 [13]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_8c;" type_identifier identifier ;) (declaration "undefined1 uStack_88;" type_identifier identifier ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_80;" type_identifier (pointer_declarator "*pEStack_80" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_7c;" type_identifier (pointer_declarator "*pEStack_7c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_78;" type_identifier (pointer_declarator "*pEStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_70;" type_identifier (pointer_declarator "*pEStack_70" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_6c;" type_identifier (pointer_declarator "*pEStack_6c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_68;" type_identifier (pointer_declarator "*pEStack_68" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_64;" type_identifier (pointer_declarator "*pEStack_64" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_60;" type_identifier (pointer_declarator "*pEStack_60" * identifier) ;) (declaration "code *pcStack_5c;" type_identifier (pointer_declarator "*pcStack_5c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_54;" type_identifier (pointer_declarator "*pEStack_54" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_4c;" type_identifier (pointer_declarator "*pEStack_4c" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "Elf32_Ehdr *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "dword *pdVar16;" type_identifier (pointer_declarator "*pdVar16" * identifier) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c" identifier = (cast_expression "(Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3]" identifier = (cast_expression "(Elf32_Ehdr *)(uint)param_1->e_ident_pad[3]" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)param_1->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) ;) (expression_statement "local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "bVar45 = (byte)((uint)param_6 >> 8);" (assignment_expression "bVar45 = (byte)((uint)param_6 >> 8)" identifier = (call_expression "(byte)((uint)param_6 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)param_6 >> 8)" ( (binary_expression "(uint)param_6 >> 8" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar22 = (byte)((uint)param_6 >> 0x10);" (assignment_expression "bVar22 = (byte)((uint)param_6 >> 0x10)" identifier = (call_expression "(byte)((uint)param_6 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)param_6 >> 0x10)" ( (binary_expression "(uint)param_6 >> 0x10" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar24 = (byte)((uint)param_6 >> 0x18);" (assignment_expression "bVar24 = (byte)((uint)param_6 >> 0x18)" identifier = (call_expression "(byte)((uint)param_6 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)param_6 >> 0x18)" ( (binary_expression "(uint)param_6 >> 0x18" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEVar48 = param_2;" (assignment_expression "pEVar48 = param_2" identifier = identifier) ;) (expression_statement "pEStack_1d8 = param_3;" (assignment_expression "pEStack_1d8 = param_3" identifier = identifier) ;) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" identifier = identifier) ;) (if_statement "if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" if (parenthesized_expression "((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version))" ( (binary_expression "(pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)" (parenthesized_expression "(pEVar49 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar49 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)" ( (binary_expression "(int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version" (cast_expression "(int)param_4->e_ident_magic_str" ( (type_descriptor "int" primitive_type) ) (field_expression "param_4->e_ident_magic_str" identifier -> field_identifier)) < (binary_expression "(int)(uint)*(ushort *)&param_1->e_version" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)&param_1->e_version" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier))))) ))) )) (compound_statement "{\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }" { (expression_statement "pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;" (assignment_expression "pEVar26 = (Elf32_Ehdr *)param_1[1].e_version" identifier = (cast_expression "(Elf32_Ehdr *)param_1[1].e_version" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "param_1[1].e_version" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iVar10 = FUN_0009c62c();" (assignment_expression "iVar10 = FUN_0009c62c()" identifier = (call_expression "FUN_0009c62c()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }" { (expression_statement "uVar25 = (uint)param_1->e_ident_pad[0];" (assignment_expression "uVar25 = (uint)param_1->e_ident_pad[0]" identifier = (cast_expression "(uint)param_1->e_ident_pad[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "pbVar34 = *(byte **)&param_1[1].e_ident_class;" (assignment_expression "pbVar34 = *(byte **)&param_1[1].e_ident_class" identifier = (pointer_expression "*(byte **)&param_1[1].e_ident_class" * (cast_expression "(byte **)&param_1[1].e_ident_class" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&param_1[1].e_ident_class" & (field_expression "param_1[1].e_ident_class" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine" identifier = (cast_expression "(Elf32_Ehdr *)(uint)param_1->e_machine" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)param_1->e_machine" ( (type_descriptor "uint" type_identifier) ) (field_expression "param_1->e_machine" identifier -> field_identifier)))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "pbVar39 = pbVar34 + uVar25 + 5;" (assignment_expression "pbVar39 = pbVar34 + uVar25 + 5" identifier = (binary_expression "pbVar34 + uVar25 + 5" (binary_expression "pbVar34 + uVar25" identifier + identifier) + number_literal)) ;) (expression_statement "pbVar37 = pbVar34 + uVar25 + 6;" (assignment_expression "pbVar37 = pbVar34 + uVar25 + 6" identifier = (binary_expression "pbVar34 + uVar25 + 6" (binary_expression "pbVar34 + uVar25" identifier + identifier) + number_literal)) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" identifier = (cast_expression "(Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" ( (binary_expression "pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1" (binary_expression "pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + (binary_expression "(uint)(ushort)param_1->e_version * 2" (cast_expression "(uint)(ushort)param_1->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)param_1->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "param_1->e_version" identifier -> field_identifier))) * number_literal)) + number_literal) )))) ;) (expression_statement "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37)" identifier = (cast_expression "(Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)CONCAT11(*pbVar39,*pbVar37)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*pbVar39,*pbVar37)" identifier (argument_list "(*pbVar39,*pbVar37)" ( (pointer_expression "*pbVar39" * identifier) , (pointer_expression "*pbVar37" * identifier) )))))) ;) (if_statement "if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" if (parenthesized_expression "(unaff_s6 < unaff_s7)" ( (binary_expression "unaff_s6 < unaff_s7" identifier < identifier) )) (compound_statement "{\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }" { (if_statement "if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" if (parenthesized_expression "((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000))" ( (binary_expression "(unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)" (parenthesized_expression "(unaff_s6 == (Elf32_Ehdr *)0x0)" ( (binary_expression "unaff_s6 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)" ( (comma_expression "pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000" (assignment_expression "pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" identifier = (pointer_expression "*(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" * (cast_expression "(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 1) + 0x24)" ( (binary_expression "*(int *)(param_1 + 1) + 0x24" (pointer_expression "*(int *)(param_1 + 1)" * (cast_expression "(int *)(param_1 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "pEVar48 == &Elf32_Ehdr_00010000" identifier == (pointer_expression "&Elf32_Ehdr_00010000" & identifier))) ))) )) (compound_statement "{\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" { (expression_statement "unaff_s6 = &Elf32_Ehdr_00010000;" (assignment_expression "unaff_s6 = &Elf32_Ehdr_00010000" identifier = (pointer_expression "&Elf32_Ehdr_00010000" & identifier)) ;) (goto_statement "goto LAB_000a3e78;" goto statement_identifier ;) })) (expression_statement "pEVar26 = (Elf32_Ehdr *)0xfcb0;" (assignment_expression "pEVar26 = (Elf32_Ehdr *)0xfcb0" identifier = (cast_expression "(Elf32_Ehdr *)0xfcb0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();" (assignment_expression "iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))()" identifier = (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x75c0)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x75c0)" ( (binary_expression "PTR_LAB_0015b740 + -0x75c0" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar10 != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) (expression_statement "unaff_s7 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s6 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar8 = pbVar34;" (assignment_expression "pbVar8 = pbVar34" identifier = identifier) ;) }) (else_clause "else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" else (compound_statement "{\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" { (labeled_statement "LAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" statement_identifier : (if_statement "if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" if (parenthesized_expression "(((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6))" ( (binary_expression "((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)" (parenthesized_expression "((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0))" ( (binary_expression "(pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)" (parenthesized_expression "(pbVar34[uVar25 + 2] != 0)" ( (binary_expression "pbVar34[uVar25 + 2] != 0" (subscript_expression "pbVar34[uVar25 + 2]" identifier [ (binary_expression "uVar25 + 2" identifier + number_literal) ]) != number_literal) )) || (parenthesized_expression "(pbVar34[uVar25 + 1] != 0)" ( (binary_expression "pbVar34[uVar25 + 1] != 0" (subscript_expression "pbVar34[uVar25 + 1]" identifier [ (binary_expression "uVar25 + 1" identifier + number_literal) ]) != number_literal) ))) )) && (parenthesized_expression "(unaff_s7->e_ident_magic_str < unaff_s6)" ( (binary_expression "unaff_s7->e_ident_magic_str < unaff_s6" (field_expression "unaff_s7->e_ident_magic_str" identifier -> field_identifier) < identifier) ))) )) (compound_statement "{\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" { (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)&local_30;" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)&local_30" identifier = (cast_expression "(Elf32_Ehdr *)&local_30" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_30" & identifier))) ;) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" identifier = identifier) ;) (expression_statement "pEVar48 = param_4;" (assignment_expression "pEVar48 = param_4" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();" (assignment_expression "pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5a84)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x5a84)" ( (binary_expression "PTR_LAB_0015b740 + -0x5a84" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" if (parenthesized_expression "(pbVar8 != (byte *)0x0)" ( (binary_expression "pbVar8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" { (expression_statement "unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34)" identifier = (cast_expression "(Elf32_Ehdr *)(pbVar8 + -(int)pbVar34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + -(int)pbVar34)" ( (binary_expression "pbVar8 + -(int)pbVar34" identifier + (unary_expression "-(int)pbVar34" - (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6 * 0x10000)" ( (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s6 & 0xff)" ( (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (goto_statement "goto LAB_000a3ec4;" goto statement_identifier ;) })) (expression_statement "iVar10 = local_30;" (assignment_expression "iVar10 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) }))) (if_statement "if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }" if (parenthesized_expression "((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4))" ( (binary_expression "(int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" ( (binary_expression "unaff_s7->e_ident_magic_str + 1 + (int)param_4" (binary_expression "unaff_s7->e_ident_magic_str + 1" (field_expression "unaff_s7->e_ident_magic_str" identifier -> field_identifier) + number_literal) + (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }" { (expression_statement "pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));" (assignment_expression "pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" identifier = (cast_expression "(Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" ( (binary_expression "(uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1)" (binary_expression "(uint)*(ushort *)&param_1->e_version" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&param_1->e_version" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier)))) - (cast_expression "(int)(param_4->e_ident_magic_str + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_4->e_ident_magic_str + 1)" ( (binary_expression "param_4->e_ident_magic_str + 1" (field_expression "param_4->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5)" identifier = (cast_expression "(Elf32_Ehdr *)(uint)((int)pEVar7 < 5)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)pEVar7 < 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pEVar7 < 5)" ( (binary_expression "(int)pEVar7 < 5" (cast_expression "(int)pEVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)&DAT_00000004;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&DAT_00000004" identifier = (cast_expression "(Elf32_Ehdr *)&DAT_00000004" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (if_statement "if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }" if (parenthesized_expression "(pEStack_1d8 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1d8 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pEVar48 = pEVar7;\n          }" { (expression_statement "pEVar48 = pEVar7;" (assignment_expression "pEVar48 = pEVar7" identifier = identifier) ;) })) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" identifier = identifier) ;) (expression_statement "local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();" (assignment_expression "local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))()" identifier = (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5910)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5910)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x5910)" ( (binary_expression "PTR_LAB_0015b740 + -0x5910" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar10 = local_30;" (assignment_expression "iVar10 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" ( (binary_expression "(CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1" (parenthesized_expression "(CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff)" ( (binary_expression "CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff" (binary_expression "CONCAT11(*pbVar39,*pbVar37) - 1" (call_expression "CONCAT11(*pbVar39,*pbVar37)" identifier (argument_list "(*pbVar39,*pbVar37)" ( (pointer_expression "*pbVar39" * identifier) , (pointer_expression "*pbVar37" * identifier) ))) - number_literal) & number_literal) )) + number_literal) )))) ;) })) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)unaff_s6 - (int)param_4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 - (int)param_4)" ( (binary_expression "(int)unaff_s6 - (int)param_4" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6 * 0x10000)" ( (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s6 & 0xff)" ( (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "*pbVar39 = (byte)((uint)unaff_s6 >> 8);" (assignment_expression "*pbVar39 = (byte)((uint)unaff_s6 >> 8)" (pointer_expression "*pbVar39" * identifier) = (call_expression "(byte)((uint)unaff_s6 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)unaff_s6 >> 8)" ( (binary_expression "(uint)unaff_s6 >> 8" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*pbVar37 = (byte)unaff_s6;" (assignment_expression "*pbVar37 = (byte)unaff_s6" (pointer_expression "*pbVar37" * identifier) = (cast_expression "(byte)unaff_s6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar8 = pbVar34 + (int)unaff_s6;" (assignment_expression "pbVar8 = pbVar34 + (int)unaff_s6" identifier = (binary_expression "pbVar34 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (labeled_statement "LAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;" statement_identifier : (expression_statement "*(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;" (assignment_expression "*(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2" (pointer_expression "*(short *)&param_1->e_version" * (cast_expression "(short *)&param_1->e_version" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier)))) = (binary_expression "(*(short *)&param_1->e_version - (short)param_4) + -2" (parenthesized_expression "(*(short *)&param_1->e_version - (short)param_4)" ( (binary_expression "*(short *)&param_1->e_version - (short)param_4" (pointer_expression "*(short *)&param_1->e_version" * (cast_expression "(short *)&param_1->e_version" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier)))) - (cast_expression "(short)param_4" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )) + number_literal)) ;)) (if_statement "if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" if (parenthesized_expression "(param_6 == (Elf32_Ehdr *)0x0)" ( (binary_expression "param_6 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }" { (expression_statement "(*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);" (call_expression "(*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar8,param_3,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" else (compound_statement "{\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" { (expression_statement "unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&unaff_s6->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s6->e_ident_class" & (field_expression "unaff_s6->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "(*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);" (call_expression "(*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum)" ( (binary_expression "pbVar34 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&param_3->e_ident_class" & (field_expression "param_3->e_ident_class" identifier -> field_identifier)) , (pointer_expression "&param_4[-1].e_shnum" & (field_expression "param_4[-1].e_shnum" (subscript_expression "param_4[-1]" identifier [ number_literal ]) . field_identifier)) ))) ;) (expression_statement "pbVar8[3] = (byte)param_6;" (assignment_expression "pbVar8[3] = (byte)param_6" (subscript_expression "pbVar8[3]" identifier [ number_literal ]) = (cast_expression "(byte)param_6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar8 = bVar24;" (assignment_expression "*pbVar8 = bVar24" (pointer_expression "*pbVar8" * identifier) = identifier) ;) (expression_statement "pbVar8[1] = bVar22;" (assignment_expression "pbVar8[1] = bVar22" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar8[2] = bVar45;" (assignment_expression "pbVar8[2] = bVar45" (subscript_expression "pbVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" identifier = identifier) ;) }))) (expression_statement "param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);" (assignment_expression "param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" ( (binary_expression "*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2" (pointer_expression "*(int *)(param_1[1].e_ident_pad + 3)" * (cast_expression "(int *)(param_1[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1].e_ident_pad + 3)" ( (binary_expression "param_1[1].e_ident_pad + 3" (field_expression "param_1[1].e_ident_pad" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "(int)param_2 * 2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" ( (binary_expression "((uint)(ushort)param_1->e_version - (int)param_2) * 2" (parenthesized_expression "((uint)(ushort)param_1->e_version - (int)param_2)" ( (binary_expression "(uint)(ushort)param_1->e_version - (int)param_2" (cast_expression "(uint)(ushort)param_1->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)param_1->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "param_1->e_version" identifier -> field_identifier))) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) * number_literal) )))) ;) (expression_statement "pEVar48 = param_6;" (assignment_expression "pEVar48 = param_6" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);" (call_expression "(*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1)" (parenthesized_expression "(*(code *)PTR_memmove_0015ba3c)" ( (pointer_expression "*(code *)PTR_memmove_0015ba3c" * (cast_expression "(code *)PTR_memmove_0015ba3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6->e_ident_magic_str + 1)" ( (binary_expression "param_6->e_ident_magic_str + 1" (field_expression "param_6->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) ;) (expression_statement "param_6->e_ident_magic_num = (byte)pEVar49;" (assignment_expression "param_6->e_ident_magic_num = (byte)pEVar49" (field_expression "param_6->e_ident_magic_num" identifier -> field_identifier) = (cast_expression "(byte)pEVar49" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "param_6->e_ident_magic_str[0] = (char)unaff_s7;" (assignment_expression "param_6->e_ident_magic_str[0] = (char)unaff_s7" (subscript_expression "param_6->e_ident_magic_str[0]" (field_expression "param_6->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)unaff_s7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);" (assignment_expression "pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4)" identifier = (cast_expression "(Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar34 + param_1->e_ident_pad[0] + 4)" ( (binary_expression "pbVar34 + param_1->e_ident_pad[0] + 4" (binary_expression "pbVar34 + param_1->e_ident_pad[0]" identifier + (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ])) + number_literal) )))) ;) (expression_statement "*(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;" (assignment_expression "*(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1" (pointer_expression "*(short *)((int)&param_1->e_version + 2)" * (cast_expression "(short *)((int)&param_1->e_version + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&param_1->e_version + 2)" ( (binary_expression "(int)&param_1->e_version + 2" (cast_expression "(int)&param_1->e_version" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(short)param_1->e_version + 1" (cast_expression "(short)param_1->e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "param_1->e_version" identifier -> field_identifier)) + number_literal)) ;) (expression_statement "bVar22 = pEVar26->e_ident_magic_num + 1;" (assignment_expression "bVar22 = pEVar26->e_ident_magic_num + 1" identifier = (binary_expression "pEVar26->e_ident_magic_num + 1" (field_expression "pEVar26->e_ident_magic_num" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pEVar26->e_ident_magic_num = bVar22;" (assignment_expression "pEVar26->e_ident_magic_num = bVar22" (field_expression "pEVar26->e_ident_magic_num" identifier -> field_identifier) = identifier) ;) (if_statement "if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }" if (parenthesized_expression "(bVar22 == 0)" ( (binary_expression "bVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }" { (expression_statement "pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;" (assignment_expression "pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1" (subscript_expression "pbVar34[param_1->e_ident_pad[0] + 3]" identifier [ (binary_expression "param_1->e_ident_pad[0] + 3" (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]) + number_literal) ]) = (binary_expression "pbVar34[param_1->e_ident_pad[0] + 3] + 1" (subscript_expression "pbVar34[param_1->e_ident_pad[0] + 3]" identifier [ (binary_expression "param_1->e_ident_pad[0] + 3" (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]) + number_literal) ]) + number_literal)) ;) })) (if_statement "if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }" if (parenthesized_expression "(*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 1) + 0x11)" * (cast_expression "(char *)(*(int *)(param_1 + 1) + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 1) + 0x11)" ( (binary_expression "*(int *)(param_1 + 1) + 0x11" (pointer_expression "*(int *)(param_1 + 1)" * (cast_expression "(int *)(param_1 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion" identifier = (cast_expression "(Elf32_Ehdr *)&param_1[1].e_ident_abiversion" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1[1].e_ident_abiversion" & (field_expression "param_1[1].e_ident_abiversion" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" identifier = identifier) ;) (expression_statement "pEStack_1d8 = param_3;" (assignment_expression "pEStack_1d8 = param_3" identifier = identifier) ;) (expression_statement "pEVar50 = param_7;" (assignment_expression "pEVar50 = param_7" identifier = identifier) ;) (expression_statement "FUN_000a22e0();" (call_expression "FUN_000a22e0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" else (compound_statement "{\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" { (labeled_statement "LAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);" statement_identifier : (expression_statement "param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);" (assignment_expression "param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18)" (field_expression "param_7->e_ident_magic_num" identifier -> field_identifier) = (cast_expression "(char)((uint)iVar10 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar10 >> 0x18)" ( (binary_expression "(uint)iVar10 >> 0x18" (cast_expression "(uint)iVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);" (assignment_expression "param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10)" (subscript_expression "param_7->e_ident_magic_str[0]" (field_expression "param_7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)iVar10 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar10 >> 0x10)" ( (binary_expression "(uint)iVar10 >> 0x10" (cast_expression "(uint)iVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);" (assignment_expression "param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8)" (subscript_expression "param_7->e_ident_magic_str[1]" (field_expression "param_7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)iVar10 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar10 >> 8)" ( (binary_expression "(uint)iVar10 >> 8" (cast_expression "(uint)iVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_7->e_ident_magic_str[2] = (char)iVar10;" (assignment_expression "param_7->e_ident_magic_str[2] = (char)iVar10" (subscript_expression "param_7->e_ident_magic_str[2]" (field_expression "param_7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)iVar10" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) }) (else_clause "else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" else (compound_statement "{\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" { (expression_statement "pEVar7 = param_3;" (assignment_expression "pEVar7 = param_3" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }" { (expression_statement "pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);" (assignment_expression "pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5)" identifier = (cast_expression "(Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_0015ba30)(param_5)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5)" ( identifier ))))) ;) (expression_statement "pEVar48 = param_3;" (assignment_expression "pEVar48 = param_3" identifier = identifier) ;) (expression_statement "pEStack_1d8 = param_4;" (assignment_expression "pEStack_1d8 = param_4" identifier = identifier) ;) })) (if_statement "if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }" if (parenthesized_expression "(param_6 != (Elf32_Ehdr *)0x0)" ( (binary_expression "param_6 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }" { (expression_statement "pEVar7->e_ident_magic_str[2] = (byte)param_6;" (assignment_expression "pEVar7->e_ident_magic_str[2] = (byte)param_6" (subscript_expression "pEVar7->e_ident_magic_str[2]" (field_expression "pEVar7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(byte)param_6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);" (assignment_expression "param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)param_6 >> 8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)param_6 >> 8)" ( (binary_expression "(uint)param_6 >> 8" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEVar7->e_ident_magic_num = bVar24;" (assignment_expression "pEVar7->e_ident_magic_num = bVar24" (field_expression "pEVar7->e_ident_magic_num" identifier -> field_identifier) = identifier) ;) (expression_statement "pEVar7->e_ident_magic_str[0] = bVar22;" (assignment_expression "pEVar7->e_ident_magic_str[0] = bVar22" (subscript_expression "pEVar7->e_ident_magic_str[0]" (field_expression "pEVar7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "pEVar7->e_ident_magic_str[1] = bVar45;" (assignment_expression "pEVar7->e_ident_magic_str[1] = bVar45" (subscript_expression "pEVar7->e_ident_magic_str[1]" (field_expression "pEVar7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = identifier) ;) })) (expression_statement "uVar25 = (uint)param_1->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)param_1->e_ident_pad[3]" identifier = (cast_expression "(uint)param_1->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);" (assignment_expression "pEVar26 = (Elf32_Ehdr *)(uVar25 + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(uVar25 + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 + 1)" ( (binary_expression "uVar25 + 1" identifier + number_literal) )))) ;) (expression_statement "param_1->e_ident_pad[3] = (byte)pEVar26;" (assignment_expression "param_1->e_ident_pad[3] = (byte)pEVar26" (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(byte)pEVar26" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;" (assignment_expression "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7" (pointer_expression "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" * (cast_expression "(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" ( (binary_expression "param_1->e_ident_pad + uVar25 * 4 + 0x1b" (binary_expression "param_1->e_ident_pad + uVar25 * 4" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) + (binary_expression "uVar25 * 4" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;" (assignment_expression "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2" (pointer_expression "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11)" * (cast_expression "(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1->e_ident_pad + uVar25 * 2 + 0x11)" ( (binary_expression "param_1->e_ident_pad + uVar25 * 2 + 0x11" (binary_expression "param_1->e_ident_pad + uVar25 * 2" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) + (binary_expression "uVar25 * 2" identifier * number_literal)) + number_literal) )))) = (cast_expression "(short)param_2" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "param_3 = pEVar7;" (assignment_expression "param_3 = pEVar7" identifier = identifier) ;) }))) (if_statement "if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }" if (parenthesized_expression "(local_2c == *(Elf32_Ehdr **)pEVar47)" ( (binary_expression "local_2c == *(Elf32_Ehdr **)pEVar47" identifier == (pointer_expression "*(Elf32_Ehdr **)pEVar47" * (cast_expression "(Elf32_Ehdr **)pEVar47" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return *(Elf32_Ehdr **)pEVar47;\n  }" { (return_statement "return *(Elf32_Ehdr **)pEVar47;" return (pointer_expression "*(Elf32_Ehdr **)pEVar47" * (cast_expression "(Elf32_Ehdr **)pEVar47" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (expression_statement "pcVar55 = FUN_000a4120;" (assignment_expression "pcVar55 = FUN_000a4120" identifier = identifier) ;) (expression_statement "puVar53 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar53 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar9 = *(int **)(puVar53 + 0xb790c);" (assignment_expression "piVar9 = *(int **)(puVar53 + 0xb790c)" identifier = (pointer_expression "*(int **)(puVar53 + 0xb790c)" * (cast_expression "(int **)(puVar53 + 0xb790c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb790c)" ( (binary_expression "puVar53 + 0xb790c" identifier + number_literal) ))))) ;) (expression_statement "pEStack_60 = param_7;" (assignment_expression "pEStack_60 = param_7" identifier = identifier) ;) (expression_statement "puStack_74 = &pEVar47->e_ident_magic_num;" (assignment_expression "puStack_74 = &pEVar47->e_ident_magic_num" identifier = (pointer_expression "&pEVar47->e_ident_magic_num" & (field_expression "pEVar47->e_ident_magic_num" identifier -> field_identifier))) ;) (expression_statement "auStack_188._0_4_ = (Elf32_Ehdr *)0x0;" (assignment_expression "auStack_188._0_4_ = (Elf32_Ehdr *)0x0" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_8c = 0;" (assignment_expression "uStack_8c = 0" identifier = number_literal) ;) (expression_statement "uStack_88 = 0;" (assignment_expression "uStack_88 = 0" identifier = number_literal) ;) (expression_statement "auStack_cc._0_4_ = 0;" (assignment_expression "auStack_cc._0_4_ = 0" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "iStack_c4 = 0;" (assignment_expression "iStack_c4 = 0" identifier = number_literal) ;) (expression_statement "iStack_84 = *piVar9;" (assignment_expression "iStack_84 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);" (assignment_expression "pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1)" identifier = (pointer_expression "*(Elf32_Ehdr **)(pEVar26 + 1)" * (cast_expression "(Elf32_Ehdr **)(pEVar26 + 1)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pEVar26 + 1)" ( (binary_expression "pEVar26 + 1" identifier + number_literal) ))))) ;) (expression_statement "pEStack_80 = param_1;" (assignment_expression "pEStack_80 = param_1" identifier = identifier) ;) (expression_statement "pEStack_7c = param_6;" (assignment_expression "pEStack_7c = param_6" identifier = identifier) ;) (expression_statement "pEStack_78 = param_3;" (assignment_expression "pEStack_78 = param_3" identifier = identifier) ;) (expression_statement "pEStack_70 = pEVar49;" (assignment_expression "pEStack_70 = pEVar49" identifier = identifier) ;) (expression_statement "pEStack_6c = param_2;" (assignment_expression "pEStack_6c = param_2" identifier = identifier) ;) (expression_statement "pEStack_68 = unaff_s6;" (assignment_expression "pEStack_68 = unaff_s6" identifier = identifier) ;) (expression_statement "pEStack_64 = unaff_s7;" (assignment_expression "pEStack_64 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_5c = pcVar55;" (assignment_expression "pcStack_5c = pcVar55" identifier = identifier) ;) (expression_statement "pEStack_54 = pEVar48;" (assignment_expression "pEStack_54 = pEVar48" identifier = identifier) ;) (expression_statement "pEStack_4c = pEVar50;" (assignment_expression "pEStack_4c = pEVar50" identifier = identifier) ;) (if_statement "if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }" if (parenthesized_expression "(pEStack_1d8 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1d8 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)&DAT_00000007;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&DAT_00000007" identifier = (cast_expression "(Elf32_Ehdr *)&DAT_00000007" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000a44d0;" goto statement_identifier ;) })) (expression_statement "uVar25 = (uint)(ushort)pEVar26->e_version;" (assignment_expression "uVar25 = (uint)(ushort)pEVar26->e_version" identifier = (cast_expression "(uint)(ushort)pEVar26->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar26->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar26->e_version" identifier -> field_identifier)))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar26->e_ident_pad[3] + uVar25)" ( (binary_expression "pEVar26->e_ident_pad[3] + uVar25" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]) + identifier) )))) ;) (if_statement "if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" if (parenthesized_expression "(pEVar49 < (Elf32_Ehdr *)&SUB_00000002)" ( (binary_expression "pEVar49 < (Elf32_Ehdr *)&SUB_00000002" identifier < (cast_expression "(Elf32_Ehdr *)&SUB_00000002" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) )) (compound_statement "{\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }" { (expression_statement "iVar10._0_1_ = pEVar26[1].e_ident_class;" (assignment_expression "iVar10._0_1_ = pEVar26[1].e_ident_class" (field_expression "iVar10._0_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar10._1_1_ = pEVar26[1].e_ident_data;" (assignment_expression "iVar10._1_1_ = pEVar26[1].e_ident_data" (field_expression "iVar10._1_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_data" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar10._2_1_ = pEVar26[1].e_ident_version;" (assignment_expression "iVar10._2_1_ = pEVar26[1].e_ident_version" (field_expression "iVar10._2_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_version" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar10._3_1_ = pEVar26[1].e_ident_osabi;" (assignment_expression "iVar10._3_1_ = pEVar26[1].e_ident_osabi" (field_expression "iVar10._3_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_osabi" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pEStack_54 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1d4 = pEVar49;" (assignment_expression "pEStack_1d4 = pEVar49" identifier = identifier) ;) (labeled_statement "LAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);" statement_identifier : (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + pEVar26->e_ident_pad[0] + 8)" ( (binary_expression "iVar10 + pEVar26->e_ident_pad[0] + 8" (binary_expression "iVar10 + pEVar26->e_ident_pad[0]" identifier + (subscript_expression "pEVar26->e_ident_pad[0]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ])) + number_literal) )))) ;)) }) (else_clause "else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" else (compound_statement "{\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" { (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52" identifier = (cast_expression "(Elf32_Ehdr *)0xffe9ca52" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar50 = pEStack_1d4;" (assignment_expression "pEVar50 = pEStack_1d4" identifier = identifier) ;) (if_statement "if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }" if (parenthesized_expression "(pEVar48 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar48 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }" { (if_statement "if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" if (parenthesized_expression "(pEVar49 == pEVar48)" ( (binary_expression "pEVar49 == pEVar48" identifier == identifier) )) (compound_statement "{\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }" { (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" identifier = identifier) ;) (expression_statement "pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48[0x6d57].e_ident_magic_str + 1)" ( (binary_expression "pEVar48[0x6d57].e_ident_magic_str + 1" (field_expression "pEVar48[0x6d57].e_ident_magic_str" (subscript_expression "pEVar48[0x6d57]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) ;) }) (else_clause "else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" else (compound_statement "{\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" { (expression_statement "pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-0x6d58].e_shnum + 1)" ( (binary_expression "(int)&pEVar48[-0x6d58].e_shnum + 1" (cast_expression "(int)&pEVar48[-0x6d58].e_shnum" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-0x6d58].e_shnum" & (field_expression "pEVar48[-0x6d58].e_shnum" (subscript_expression "pEVar48[-0x6d58]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) }))) })) (expression_statement "uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];" (assignment_expression "uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3]" identifier = (binary_expression "(int)pEVar50 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(uint)pEVar26->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) ;) (expression_statement "iVar10 = *(int *)&pEVar26[1].e_ident_class;" (assignment_expression "iVar10 = *(int *)&pEVar26[1].e_ident_class" identifier = (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))))) ;) (if_statement "if (uVar25 == uVar23) goto LAB_000a49d0;" if (parenthesized_expression "(uVar25 == uVar23)" ( (binary_expression "uVar25 == uVar23" identifier == identifier) )) (goto_statement "goto LAB_000a49d0;" goto statement_identifier ;)) (expression_statement "uVar25 = (uint)*(ushort *)&pEVar26->e_entry;" (assignment_expression "uVar25 = (uint)*(ushort *)&pEVar26->e_entry" identifier = (binary_expression "(uint)*(ushort *)&pEVar26->e_entry" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&pEVar26->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26->e_entry" & (field_expression "pEVar26->e_entry" identifier -> field_identifier))))) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" ( (binary_expression "iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" identifier + (call_expression "(uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" ( (binary_expression "*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry" (pointer_expression "*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" * (cast_expression "(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" ( (binary_expression "*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2" (pointer_expression "*(int *)(pEVar26[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar26[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar26[1].e_ident_pad + 3)" ( (binary_expression "pEVar26[1].e_ident_pad + 3" (field_expression "pEVar26[1].e_ident_pad" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "uVar23 * 2" identifier * number_literal)) )))) & (pointer_expression "*(ushort *)&pEVar26->e_entry" * (cast_expression "(ushort *)&pEVar26->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26->e_entry" & (field_expression "pEVar26->e_entry" identifier -> field_identifier))))) )))) )))) ;) }))) (expression_statement "ppEStack_1dc = &pEStack_150;" (assignment_expression "ppEStack_1dc = &pEStack_150" identifier = (pointer_expression "&pEStack_150" & identifier)) ;) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c)" identifier = (cast_expression "(Elf32_Ehdr *)(auStack_180 + 0x1c)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_180 + 0x1c)" ( (binary_expression "auStack_180 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "puStack_1e0 = auStack_188;" (assignment_expression "puStack_1e0 = auStack_188" identifier = identifier) ;) (expression_statement "iStack_1d0 = (int)pEStack_1d4 * 4;" (assignment_expression "iStack_1d0 = (int)pEStack_1d4 * 4" identifier = (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "uVar23 = (uint)pEStack_1c8 & 3;" (assignment_expression "uVar23 = (uint)pEStack_1c8 & 3" identifier = (binary_expression "(uint)pEStack_1c8 & 3" (cast_expression "(uint)pEStack_1c8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;" (assignment_expression "ppEVar43 = ppEStack_1dc + (int)pEStack_1d4" identifier = (binary_expression "ppEStack_1dc + (int)pEStack_1d4" identifier + (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;" (assignment_expression "pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1" identifier = (binary_expression "pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1" (binary_expression "pEStack_1c4->e_ident_magic_str + iStack_1d0" (field_expression "pEStack_1c4->e_ident_magic_str" identifier -> field_identifier) + identifier) + number_literal)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x6acc)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x6acc" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1ec = &EStack_108;" (assignment_expression "pEStack_1ec = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;" (assignment_expression "uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3" identifier = (binary_expression "(uint)(pEStack_1c8->e_ident_magic_str + 2) & 3" (call_expression "(uint)(pEStack_1c8->e_ident_magic_str + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEStack_1c8->e_ident_magic_str + 2)" ( (binary_expression "pEStack_1c8->e_ident_magic_str + 2" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) & number_literal)) ;) (expression_statement "auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;" (assignment_expression "auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (field_expression "auStack_188._4_4_" identifier . field_identifier) = (binary_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (binary_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8" (parenthesized_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       )" ( (binary_expression "*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8" (binary_expression "*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8" (pointer_expression "*(int *)((int)pEStack_1c8 - uVar23)" * (cast_expression "(int *)((int)pEStack_1c8 - uVar23)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1c8 - uVar23)" ( (binary_expression "(int)pEStack_1c8 - uVar23" (cast_expression "(int)pEStack_1c8" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) << (binary_expression "uVar23 * 8" identifier * number_literal)) | (binary_expression "uVar25 & 0xffffffffU >> (4 - uVar23) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar23) * 8" number_literal >> (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" ( (binary_expression "4 - uVar23" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar32 + 1) * 8" number_literal << (binary_expression "(uVar32 + 1) * 8" (parenthesized_expression "(uVar32 + 1)" ( (binary_expression "uVar32 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (pointer_expression "*(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" * (cast_expression "(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" ( (binary_expression "pEStack_1c8->e_ident_magic_str + 2 + -uVar32" (binary_expression "pEStack_1c8->e_ident_magic_str + 2" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) + number_literal) + (unary_expression "-uVar32" - identifier)) )))) >> (binary_expression "(3 - uVar32) * 8" (parenthesized_expression "(3 - uVar32)" ( (binary_expression "3 - uVar32" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);" (assignment_expression "pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68)" identifier = (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5c68)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5c68" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar48 = pEStack_1d4;" (assignment_expression "pEVar48 = pEStack_1d4" identifier = identifier) ;) (while_statement "while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }" { (expression_statement "param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);" (assignment_expression "param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" identifier = (cast_expression "(Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" (parenthesized_expression "(*(code *)pEStack_1f0)" ( (pointer_expression "*(code *)pEStack_1f0" * (cast_expression "(code *)pEStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" ( identifier , (field_expression "auStack_188._4_4_" identifier . field_identifier) , identifier , number_literal , number_literal ))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar48 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar48 * 4)" ( (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pEVar50 = param_2;" (assignment_expression "pEVar50 = param_2" identifier = identifier) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (expression_statement "auStack_188._0_4_ = param_2;" (assignment_expression "auStack_188._0_4_ = param_2" (field_expression "auStack_188._0_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (param_2 != (Elf32_Ehdr *)0x0) break;" if (parenthesized_expression "(param_2 != (Elf32_Ehdr *)0x0)" ( (binary_expression "param_2 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" ( (binary_expression "pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]" (binary_expression "pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) + (field_expression "(uint)(ushort)(*ppEVar43)->e_version" (call_expression "(uint)(ushort)(*ppEVar43)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*ppEVar43)" ( (pointer_expression "*ppEVar43" * identifier) ))) -> field_identifier)) + (subscript_expression "(uint)(*ppEVar43)->e_ident_pad[3]" (field_expression "(uint)(*ppEVar43)->e_ident_pad" (call_expression "(uint)(*ppEVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*ppEVar43)" ( (pointer_expression "*ppEVar43" * identifier) ))) -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "unaff_s7 = param_2;" (assignment_expression "unaff_s7 = param_2" identifier = identifier) ;) (if_statement "if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" if (parenthesized_expression "(pEVar42 == (Elf32_Ehdr *)0xffffffff)" ( (binary_expression "pEVar42 == (Elf32_Ehdr *)0xffffffff" identifier == (cast_expression "(Elf32_Ehdr *)0xffffffff" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" { (expression_statement "pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);" (assignment_expression "pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" ( (binary_expression "(uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc" (call_expression "(uint)(pEStack_1f4->e_ident_magic_str + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEStack_1f4->e_ident_magic_str + 2)" ( (binary_expression "pEStack_1f4->e_ident_magic_str + 2" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) & number_literal) )))) ;) (expression_statement "iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);" (assignment_expression "iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" identifier = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" ( (binary_expression "*(int *)(puVar53 + 0xb75b8) + -0x5ca0" (pointer_expression "*(int *)(puVar53 + 0xb75b8)" * (cast_expression "(int *)(puVar53 + 0xb75b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75b8)" ( (binary_expression "puVar53 + 0xb75b8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" ( (binary_expression "(int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f" (cast_expression "(int)((int)pEVar47 * 6 + pEVar7->e_shoff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pEVar47 * 6 + pEVar7->e_shoff)" ( (binary_expression "(int)pEVar47 * 6 + pEVar7->e_shoff" (binary_expression "(int)pEVar47 * 6" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (field_expression "pEVar7->e_shoff" identifier -> field_identifier)) ))) >> number_literal) )))) ;) (if_statement "if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }" if (parenthesized_expression "(iStack_c4 == 0)" ( (binary_expression "iStack_c4 == 0" identifier == number_literal) )) (compound_statement "{\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }" { (expression_statement "auStack_188._0_4_ = &DAT_00000007;" (assignment_expression "auStack_188._0_4_ = &DAT_00000007" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (pointer_expression "&DAT_00000007" & identifier)) ;) (goto_statement "goto LAB_000a4454;" goto statement_identifier ;) })) (expression_statement "pbStack_1c0 = auStack_130 + 0x14;" (assignment_expression "pbStack_1c0 = auStack_130 + 0x14" identifier = (binary_expression "auStack_130 + 0x14" identifier + number_literal)) ;) (expression_statement "aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;" (assignment_expression "aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) = (binary_expression "iStack_c4 + (int)pEVar47 * 4" identifier + (binary_expression "(int)pEVar47 * 4" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "auStack_cc._4_4_ = pEStack_150;" (assignment_expression "auStack_cc._4_4_ = pEStack_150" (field_expression "auStack_cc._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar47 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar47 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar47 * 2" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];" (assignment_expression "pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2]" identifier = (cast_expression "(code *)(uint)(byte)pEStack_150->e_ident_magic_str[2]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)pEStack_150->e_ident_magic_str[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pEStack_150->e_ident_magic_str[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pEStack_150->e_ident_magic_str[2]" (field_expression "pEStack_150->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]))))) ;) (expression_statement "pcStack_1bc = pEStack_1d4->e_ident_magic_str;" (assignment_expression "pcStack_1bc = pEStack_1d4->e_ident_magic_str" identifier = (field_expression "pEStack_1d4->e_ident_magic_str" identifier -> field_identifier)) ;) (expression_statement "puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);" (assignment_expression "puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4)" identifier = (cast_expression "(undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pEStack_150->e_ident_abiversion * 4)" ( (binary_expression "(uint)pEStack_150->e_ident_abiversion * 4" (cast_expression "(uint)pEStack_150->e_ident_abiversion" ( (type_descriptor "uint" type_identifier) ) (field_expression "pEStack_150->e_ident_abiversion" identifier -> field_identifier)) * number_literal) )))) ;) (expression_statement "pcVar46 = *(char **)&pEStack_150[1].e_ident_class;" (assignment_expression "pcVar46 = *(char **)&pEStack_150[1].e_ident_class" identifier = (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" * (cast_expression "(char **)&pEStack_150[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine)" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + pEStack_150->e_machine)" ( (binary_expression "pcVar46 + pEStack_150->e_machine" identifier + (field_expression "pEStack_150->e_machine" identifier -> field_identifier)) )))) ;) (expression_statement "pEVar54 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar3 = (ushort)pEStack_150->e_version;" (assignment_expression "uVar3 = (ushort)pEStack_150->e_version" identifier = (cast_expression "(ushort)pEStack_150->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEStack_150->e_version" identifier -> field_identifier))) ;) (expression_statement "uVar1 = *(ushort *)&pEStack_150->e_entry;" (assignment_expression "uVar1 = *(ushort *)&pEStack_150->e_entry" identifier = (pointer_expression "*(ushort *)&pEStack_150->e_entry" * (cast_expression "(ushort *)&pEStack_150->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_150->e_entry" & (field_expression "pEStack_150->e_entry" identifier -> field_identifier))))) ;) (expression_statement "pEVar50 = pEStack_150;" (assignment_expression "pEVar50 = pEStack_150" identifier = identifier) ;) (expression_statement "pbVar34 = pbStack_1c0;" (assignment_expression "pbVar34 = pbStack_1c0" identifier = identifier) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)pcStack_1bc;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pcStack_1bc" identifier = (cast_expression "(Elf32_Ehdr *)pcStack_1bc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;" if (parenthesized_expression "(*pcVar46 == **(char **)&pEStack_150[1].e_ident_class)" ( (binary_expression "*pcVar46 == **(char **)&pEStack_150[1].e_ident_class" (pointer_expression "*pcVar46" * identifier) == (pointer_expression "**(char **)&pEStack_150[1].e_ident_class" * (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" * (cast_expression "(char **)&pEStack_150[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier)))))) )) (goto_statement "goto LAB_000a45ec;" goto statement_identifier ;)) (goto_statement "goto LAB_000a46e0;" goto statement_identifier ;) })) (expression_statement "pcVar55 = (code *)pEVar26[1].e_entry;" (assignment_expression "pcVar55 = (code *)pEVar26[1].e_entry" identifier = (cast_expression "(code *)pEVar26[1].e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar26[1].e_entry" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);" (assignment_expression "pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2)" identifier = (binary_expression "pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2)" (field_expression "pEStack_54->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar42->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar42->e_ident_magic_str + -2)" ( (binary_expression "pEVar42->e_ident_magic_str + -2" (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))))) ;) (if_statement "if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" if (parenthesized_expression "((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))" ( (binary_expression "(pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52)" (parenthesized_expression "(pEVar26->e_ident_pad[3] == 0)" ( (binary_expression "pEVar26->e_ident_pad[3] == 0" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]) == number_literal) )) || (parenthesized_expression "((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52)" ( (binary_expression "(undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52" (cast_expression "(undefined1 *)(uint)(ushort)pEVar26->e_entry" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(ushort)pEVar26->e_entry" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar26->e_entry" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar26->e_entry" identifier -> field_identifier)))) != identifier) ))) )) (compound_statement "{\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }" { (expression_statement "pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));" (assignment_expression "pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" identifier = (cast_expression "(Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" ( (binary_expression "*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)))) + (call_expression "(uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" ( (binary_expression "*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry" (pointer_expression "*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" * (cast_expression "(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" ( (binary_expression "*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2" (pointer_expression "*(int *)(pEVar26[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar26[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar26[1].e_ident_pad + 3)" ( (binary_expression "pEVar26[1].e_ident_pad + 3" (field_expression "pEVar26[1].e_ident_pad" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2" (parenthesized_expression "((int)pcVar52 - (uint)pEVar26->e_ident_pad[3])" ( (binary_expression "(int)pcVar52 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pcVar52" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(uint)pEVar26->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) )) * number_literal)) )))) & (pointer_expression "*(ushort *)&pEVar26->e_entry" * (cast_expression "(ushort *)&pEVar26->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26->e_entry" & (field_expression "pEVar26->e_entry" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "*(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;" (assignment_expression "*(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47" (pointer_expression "*(Elf32_Ehdr **)(pcVar46 + -4)" * (cast_expression "(Elf32_Ehdr **)(pcVar46 + -4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + -4)" ( (binary_expression "pcVar46 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "auStack_188[4] = pEVar47->e_ident_magic_num;" (assignment_expression "auStack_188[4] = pEVar47->e_ident_magic_num" (subscript_expression "auStack_188[4]" identifier [ number_literal ]) = (field_expression "pEVar47->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "auStack_188[5] = pEVar47->e_ident_magic_str[0];" (assignment_expression "auStack_188[5] = pEVar47->e_ident_magic_str[0]" (subscript_expression "auStack_188[5]" identifier [ number_literal ]) = (subscript_expression "pEVar47->e_ident_magic_str[0]" (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "auStack_188[6] = pEVar47->e_ident_magic_str[1];" (assignment_expression "auStack_188[6] = pEVar47->e_ident_magic_str[1]" (subscript_expression "auStack_188[6]" identifier [ number_literal ]) = (subscript_expression "pEVar47->e_ident_magic_str[1]" (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "auStack_188[7] = pEVar47->e_ident_magic_str[2];" (assignment_expression "auStack_188[7] = pEVar47->e_ident_magic_str[2]" (subscript_expression "auStack_188[7]" identifier [ number_literal ]) = (subscript_expression "pEVar47->e_ident_magic_str[2]" (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47)" identifier = (cast_expression "(Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar55)(pEVar26,pEVar47)" (parenthesized_expression "(*pcVar55)" ( (pointer_expression "*pcVar55" * identifier) )) (argument_list "(pEVar26,pEVar47)" ( identifier , identifier ))))) ;) (expression_statement "dVar30 = pEVar7->e_version;" (assignment_expression "dVar30 = pEVar7->e_version" identifier = (field_expression "pEVar7->e_version" identifier -> field_identifier)) ;) (expression_statement "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;" (assignment_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11" (pointer_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" * (cast_expression "(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (if_statement "if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }" if (parenthesized_expression "((dVar30 & 0xc) != 0)" ( (binary_expression "(dVar30 & 0xc) != 0" (parenthesized_expression "(dVar30 & 0xc)" ( (binary_expression "dVar30 & 0xc" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }" { (expression_statement "iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;" (assignment_expression "iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" identifier = (binary_expression "(int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)))))) ;) (if_statement "if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }" if (parenthesized_expression "((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10))" ( (binary_expression "(int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)" (cast_expression "(int)pEVar7->e_flags" ( (type_descriptor "int" primitive_type) ) (field_expression "pEVar7->e_flags" identifier -> field_identifier)) < (cast_expression "(int)((int)pEVar11 + iVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pEVar11 + iVar10)" ( (binary_expression "(int)pEVar11 + iVar10" (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }" { (expression_statement "auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);" (assignment_expression "auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x113c2,pEVar7->e_flags,pEVar11)" ( number_literal , (field_expression "pEVar7->e_flags" identifier -> field_identifier) , identifier )))) ;) (expression_statement "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);" (call_expression "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc)" (parenthesized_expression "(**(code **)(puVar53 + 0xb786c))" ( (pointer_expression "**(code **)(puVar53 + 0xb786c)" * (pointer_expression "*(code **)(puVar53 + 0xb786c)" * (cast_expression "(code **)(puVar53 + 0xb786c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb786c)" ( (binary_expression "puVar53 + 0xb786c" identifier + number_literal) ))))) )) (argument_list "(ppEStack_1dc,0,pEVar49,0xc)" ( identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "pEStack_1f4 = pEVar49;" (assignment_expression "pEStack_1f4 = pEVar49" identifier = identifier) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);" (call_expression "(**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47)" (parenthesized_expression "(**(code **)(puVar53 + 0xb7910))" ( (pointer_expression "**(code **)(puVar53 + 0xb7910)" * (pointer_expression "*(code **)(puVar53 + 0xb7910)" * (cast_expression "(code **)(puVar53 + 0xb7910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7910)" ( (binary_expression "puVar53 + 0xb7910" identifier + number_literal) ))))) )) (argument_list "((char *)((int)pEStack_1d8 + iVar10),pEVar47)" ( (cast_expression "(char *)((int)pEStack_1d8 + iVar10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1d8 + iVar10)" ( (binary_expression "(int)pEStack_1d8 + iVar10" (cast_expression "(int)pEStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier ))) ;) (expression_statement "*(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));" (assignment_expression "*(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" (pointer_expression "*(char **)(pcVar46 + -4)" * (cast_expression "(char **)(pcVar46 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + -4)" ( (binary_expression "pcVar46 + -4" identifier + number_literal) )))) = (cast_expression "(char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" ( (binary_expression "(int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class)" (cast_expression "(int)pEStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class)" ( (binary_expression "(int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))))) ))) )))) ;) (expression_statement "pEStack_1e8 = pEVar11;" (assignment_expression "pEStack_1e8 = pEVar11" identifier = identifier) ;) })) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }" { (expression_statement "(*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);" (call_expression "(*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0)" (parenthesized_expression "(*pcStack_1e4)" ( (pointer_expression "*pcStack_1e4" * identifier) )) (argument_list "(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0)" ( identifier , (binary_expression "(int)pcVar52 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pcVar52" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(uint)pEVar26->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) , identifier , identifier ))) ;) })) }) (else_clause "else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" else (compound_statement "{\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" { (expression_statement "puVar12 = (uint *)pEVar26->e_flags;" (assignment_expression "puVar12 = (uint *)pEVar26->e_flags" identifier = (cast_expression "(uint *)pEVar26->e_flags" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar26->e_flags" identifier -> field_identifier))) ;) (expression_statement "*(uint **)(pcVar46 + -4) = puVar12;" (assignment_expression "*(uint **)(pcVar46 + -4) = puVar12" (pointer_expression "*(uint **)(pcVar46 + -4)" * (cast_expression "(uint **)(pcVar46 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + -4)" ( (binary_expression "pcVar46 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "auStack_188._4_4_ = *puVar12;" (assignment_expression "auStack_188._4_4_ = *puVar12" (field_expression "auStack_188._4_4_" identifier . field_identifier) = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "uVar13 = (*pcVar55)(pEVar26,puVar12);" (assignment_expression "uVar13 = (*pcVar55)(pEVar26,puVar12)" identifier = (call_expression "(*pcVar55)(pEVar26,puVar12)" (parenthesized_expression "(*pcVar55)" ( (pointer_expression "*pcVar55" * identifier) )) (argument_list "(pEVar26,puVar12)" ( identifier , identifier )))) ;) (expression_statement "pEVar26->e_ident_pad[3] = 0;" (assignment_expression "pEVar26->e_ident_pad[3] = 0" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;" (assignment_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13" (pointer_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" * (cast_expression "(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) }))) (expression_statement "ppEVar43 = ppEVar43 + -1;" (assignment_expression "ppEVar43 = ppEVar43 + -1" identifier = (binary_expression "ppEVar43 + -1" identifier + number_literal)) ;) (expression_statement "pcVar46 = pcVar46 + -4;" (assignment_expression "pcVar46 = pcVar46 + -4" identifier = (binary_expression "pcVar46 + -4" identifier + number_literal)) ;) (expression_statement "pEVar48 = pEVar42;" (assignment_expression "pEVar48 = pEVar42" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);" (call_expression "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc)" (parenthesized_expression "(**(code **)(puVar53 + 0xb786c))" ( (pointer_expression "**(code **)(puVar53 + 0xb786c)" * (pointer_expression "*(code **)(puVar53 + 0xb786c)" * (cast_expression "(code **)(puVar53 + 0xb786c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb786c)" ( (binary_expression "puVar53 + 0xb786c" identifier + number_literal) ))))) )) (argument_list "(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc)" ( identifier , number_literal , (binary_expression "(int)pEVar48->e_ident_magic_str * 4" (cast_expression "(int)pEVar48->e_ident_magic_str" ( (type_descriptor "int" primitive_type) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier)) * number_literal) , number_literal ))) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) (labeled_statement "LAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);" statement_identifier : (expression_statement "(**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);" (call_expression "(**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2)" (parenthesized_expression "(**(code **)(puVar53 + 0xb7894))" ( (pointer_expression "**(code **)(puVar53 + 0xb7894)" * (pointer_expression "*(code **)(puVar53 + 0xb7894)" * (cast_expression "(code **)(puVar53 + 0xb7894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7894)" ( (binary_expression "puVar53 + 0xb7894" identifier + number_literal) ))))) )) (argument_list "(aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) , number_literal , (binary_expression "((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2" (parenthesized_expression "((uint)pEVar50->e_ident_pad[3] + (uint)uVar3)" ( (binary_expression "(uint)pEVar50->e_ident_pad[3] + (uint)uVar3" (cast_expression "(uint)pEVar50->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ])) + (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )) * number_literal) ))) ;)) (if_statement "if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" if (parenthesized_expression "(pEVar50->e_ident_pad[3] == 0)" ( (binary_expression "pEVar50->e_ident_pad[3] == 0" (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }" { (labeled_statement "LAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;" statement_identifier : (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" identifier = (cast_expression "(ushort)pEVar50->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_version" identifier -> field_identifier))) ;)) }) (else_clause "else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" else (compound_statement "{\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" { (expression_statement "uVar25 = (uint)(ushort)pEVar50->e_entry;" (assignment_expression "uVar25 = (uint)(ushort)pEVar50->e_entry" identifier = (cast_expression "(uint)(ushort)pEVar50->e_entry" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar50->e_entry" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_entry" identifier -> field_identifier)))) ;) (if_statement "if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }" { (expression_statement "pcVar52 = pEVar49->e_ident_magic_str;" (assignment_expression "pcVar52 = pEVar49->e_ident_magic_str" identifier = (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier)) ;) (do_statement "do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));" do (compound_statement "{\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      }" { (expression_statement "uVar3._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar3._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar3._0_1_" identifier . field_identifier) = (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "uVar3._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar3._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar3._1_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" ( (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);" (assignment_expression "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3)" (pointer_expression "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(char **)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) = (binary_expression "pcVar46 + (uVar1 & uVar3)" identifier + (parenthesized_expression "(uVar1 & uVar3)" ( (binary_expression "uVar1 & uVar3" identifier & identifier) )))) ;) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1))" ( (binary_expression "pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1)" identifier != (cast_expression "(Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar52 + uVar25 * 2 + -1)" ( (binary_expression "pcVar52 + uVar25 * 2 + -1" (binary_expression "pcVar52 + uVar25 * 2" identifier + (binary_expression "uVar25 * 2" identifier * number_literal)) + number_literal) )))) )) ;) (if_statement "if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;" if (parenthesized_expression "(pEVar50->e_ident_pad[3] == 0)" ( (binary_expression "pEVar50->e_ident_pad[3] == 0" (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000a4624;" goto statement_identifier ;)) })) (expression_statement "pdVar27 = &pEVar50->e_flags;" (assignment_expression "pdVar27 = &pEVar50->e_flags" identifier = (pointer_expression "&pEVar50->e_flags" & (field_expression "pEVar50->e_flags" identifier -> field_identifier))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);" do (compound_statement "{\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" { (expression_statement "dVar30 = *pdVar27;" (assignment_expression "dVar30 = *pdVar27" identifier = (pointer_expression "*pdVar27" * identifier)) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" identifier = (binary_expression "pdVar27 + 1" identifier + number_literal)) ;) (expression_statement "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;" (assignment_expression "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30" (pointer_expression "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(dword *)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) = identifier) ;) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(iVar10 < (int)(uint)pEVar50->e_ident_pad[3])" ( (binary_expression "iVar10 < (int)(uint)pEVar50->e_ident_pad[3]" identifier < (cast_expression "(int)(uint)pEVar50->e_ident_pad[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)pEVar50->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) )) ;) (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" identifier = (cast_expression "(ushort)pEVar50->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_version" identifier -> field_identifier))) ;) }))) (expression_statement "uVar2 = pEVar50->e_machine;" (assignment_expression "uVar2 = pEVar50->e_machine" identifier = (field_expression "pEVar50->e_machine" identifier -> field_identifier)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (for_statement "for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }" for ( ; (binary_expression "pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" identifier < (cast_expression "(Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" ( (binary_expression "pcVar46 + (uint)uVar3 * 2 + (uint)uVar2" (binary_expression "pcVar46 + (uint)uVar3 * 2" identifier + (binary_expression "(uint)uVar3 * 2" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ; (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" ( (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) ) (compound_statement "{\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }" { (expression_statement "uVar5._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar5._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar5._0_1_" identifier . field_identifier) = (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "uVar5._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar5._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar5._1_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "*(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);" (assignment_expression "*(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5)" (pointer_expression "*(char **)(iStack_c4 + iVar10 * 4)" * (cast_expression "(char **)(iStack_c4 + iVar10 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + iVar10 * 4)" ( (binary_expression "iStack_c4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = (binary_expression "pcVar46 + (uVar1 & uVar5)" identifier + (parenthesized_expression "(uVar1 & uVar5)" ( (binary_expression "uVar1 & uVar5" identifier & identifier) )))) ;) (expression_statement "auStack_cc._0_4_ = iVar10 + 1;" (assignment_expression "auStack_cc._0_4_ = iVar10 + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) })) (expression_statement "auStack_cc._0_4_ = iVar10;" (assignment_expression "auStack_cc._0_4_ = iVar10" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "*(int *)pbVar34 = iVar10;" (assignment_expression "*(int *)pbVar34 = iVar10" (pointer_expression "*(int *)pbVar34" * (cast_expression "(int *)pbVar34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" if (parenthesized_expression "(((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0))" ( (binary_expression "((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)" (parenthesized_expression "((int)pEVar54 < (int)pEStack_1d4)" ( (binary_expression "(int)pEVar54 < (int)pEStack_1d4" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" { (expression_statement "pcVar55 = *(code **)(puVar53 + 0xb7910);" (assignment_expression "pcVar55 = *(code **)(puVar53 + 0xb7910)" identifier = (pointer_expression "*(code **)(puVar53 + 0xb7910)" * (cast_expression "(code **)(puVar53 + 0xb7910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7910)" ( (binary_expression "puVar53 + 0xb7910" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);" (assignment_expression "uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" identifier = (pointer_expression "*(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" * (cast_expression "(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar54 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar54 * 4" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);" (assignment_expression "uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" identifier = (pointer_expression "*(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" * (cast_expression "(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (binary_expression "pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1" (binary_expression "pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4" (field_expression "pEStack_1c4->e_ident_magic_str" identifier -> field_identifier) + (binary_expression "(int)pEVar54 * 4" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar25 = uVar23 & 0xffff;" (assignment_expression "uVar25 = uVar23 & 0xffff" identifier = (binary_expression "uVar23 & 0xffff" identifier & number_literal)) ;) (expression_statement "pcVar46 = pEVar51->e_ident_magic_str;" (assignment_expression "pcVar46 = pEVar51->e_ident_magic_str" identifier = (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier)) ;) (expression_statement "*(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;" (assignment_expression "*(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23" (pointer_expression "*(short *)(aiStack_c0[0] + iVar10 * 2)" * (cast_expression "(short *)(aiStack_c0[0] + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + iVar10 * 2)" ( (binary_expression "aiStack_c0[0] + iVar10 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))) = (cast_expression "(short)uVar23" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1))" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + (uVar25 - 1))" ( (binary_expression "pEVar51->e_ident_magic_str + (uVar25 - 1)" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + (parenthesized_expression "(uVar25 - 1)" ( (binary_expression "uVar25 - 1" identifier - number_literal) ))) )))) ;) (expression_statement "iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);" (assignment_expression "iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" identifier = (call_expression "(*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" (parenthesized_expression "(*pcVar55)" ( (pointer_expression "*pcVar55" * identifier) )) (argument_list "(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" ( (binary_expression "pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2)" identifier + (cast_expression "(int)(pEStack_1f4->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEStack_1f4->e_ident_magic_str + -2)" ( (binary_expression "pEStack_1f4->e_ident_magic_str + -2" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;" (assignment_expression "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10" (pointer_expression "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) = (binary_expression "puStack_1e0 + iVar10" identifier + identifier)) ;) (expression_statement "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);" (assignment_expression "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" identifier = (cast_expression "(short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) ;) (expression_statement "*psVar14 = *psVar14 - (short)puStack_1e0;" (assignment_expression "*psVar14 = *psVar14 - (short)puStack_1e0" (pointer_expression "*psVar14" * identifier) = (binary_expression "*psVar14 - (short)puStack_1e0" (pointer_expression "*psVar14" * identifier) - (cast_expression "(short)puStack_1e0" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (if_statement "if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" if (parenthesized_expression "(pEVar50->e_ident_abiversion == 0)" ( (binary_expression "pEVar50->e_ident_abiversion == 0" (field_expression "pEVar50->e_ident_abiversion" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" { (expression_statement "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);" (assignment_expression "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" (pointer_expression "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (pointer_expression "*(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) ))))) = (pointer_expression "*(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" * (cast_expression "(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pEVar50[1].e_ident_class + 8)" ( (binary_expression "*(int *)&pEVar50[1].e_ident_class + 8" (pointer_expression "*(int *)&pEVar50[1].e_ident_class" * (cast_expression "(int *)&pEVar50[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar50[1].e_ident_class" & (field_expression "pEVar50[1].e_ident_class" (subscript_expression "pEVar50[1]" identifier [ number_literal ]) . field_identifier)))) + number_literal) ))))) ;) (labeled_statement "LAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" statement_identifier : (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;)) }) (else_clause "else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" else (compound_statement "{\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" { (if_statement "if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;" if (parenthesized_expression "(3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2))" ( (binary_expression "3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" number_literal < (pointer_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" * (cast_expression "(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) ))))) )) (goto_statement "goto LAB_000a4864;" goto statement_identifier ;)) (do_statement "do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);" do (compound_statement "{\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      }" { (expression_statement "pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar51->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';" (assignment_expression "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0'" (subscript_expression "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2]" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) [ (binary_expression "(int)pEVar51 + -2" (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);" (assignment_expression "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" identifier = (cast_expression "(short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) ;) (expression_statement "*psVar14 = *psVar14 + 1;" (assignment_expression "*psVar14 = *psVar14 + 1" (pointer_expression "*psVar14" * identifier) = (binary_expression "*psVar14 + 1" (pointer_expression "*psVar14" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4)" ( (binary_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4" (pointer_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" * (cast_expression "(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) < number_literal) )) ;) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;) }))) (if_statement "if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;" if (parenthesized_expression "(pEVar54->e_ident_magic_str == pcStack_1bc)" ( (binary_expression "pEVar54->e_ident_magic_str == pcStack_1bc" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_000a487c;" goto statement_identifier ;)) (labeled_statement "LAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;" statement_identifier : (expression_statement "pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar54->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier))) ;)) (expression_statement "pbVar34 = pbVar34 + 4;" (assignment_expression "pbVar34 = pbVar34 + 4" identifier = (binary_expression "pbVar34 + 4" identifier + number_literal)) ;) (expression_statement "pEVar50 = ppEStack_1dc[(int)pEVar54];" (assignment_expression "pEVar50 = ppEStack_1dc[(int)pEVar54]" identifier = (subscript_expression "ppEStack_1dc[(int)pEVar54]" identifier [ (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "pcVar46 = *(char **)&pEVar50[1].e_ident_class;" (assignment_expression "pcVar46 = *(char **)&pEVar50[1].e_ident_class" identifier = (pointer_expression "*(char **)&pEVar50[1].e_ident_class" * (cast_expression "(char **)&pEVar50[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEVar50[1].e_ident_class" & (field_expression "pEVar50[1].e_ident_class" (subscript_expression "pEVar50[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" identifier = (cast_expression "(ushort)pEVar50->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_version" identifier -> field_identifier))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine)" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + pEVar50->e_machine)" ( (binary_expression "pcVar46 + pEVar50->e_machine" identifier + (field_expression "pEVar50->e_machine" identifier -> field_identifier)) )))) ;) (expression_statement "uVar1 = *(ushort *)&pEVar50->e_entry;" (assignment_expression "uVar1 = *(ushort *)&pEVar50->e_entry" identifier = (pointer_expression "*(ushort *)&pEVar50->e_entry" * (cast_expression "(ushort *)&pEVar50->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar50->e_entry" & (field_expression "pEVar50->e_entry" identifier -> field_identifier))))) ;) (if_statement "if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;" if (parenthesized_expression "(*pcVar46 != **(char **)&pEStack_150[1].e_ident_class)" ( (binary_expression "*pcVar46 != **(char **)&pEStack_150[1].e_ident_class" (pointer_expression "*pcVar46" * identifier) != (pointer_expression "**(char **)&pEStack_150[1].e_ident_class" * (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" * (cast_expression "(char **)&pEStack_150[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier)))))) )) (goto_statement "goto LAB_000a46e0;" goto statement_identifier ;)) (goto_statement "goto LAB_000a45ec;" goto statement_identifier ;) })) (if_statement "if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;" if (parenthesized_expression "(pEVar54->e_ident_magic_str != pcStack_1bc)" ( (binary_expression "pEVar54->e_ident_magic_str != pcStack_1bc" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) != identifier) )) (goto_statement "goto LAB_000a46ac;" goto statement_identifier ;)) (labeled_statement "LAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));" statement_identifier : (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc))" identifier = (cast_expression "(Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1e0 + (pEVar7->e_flags - 0xc))" ( (binary_expression "puStack_1e0 + (pEVar7->e_flags - 0xc)" identifier + (parenthesized_expression "(pEVar7->e_flags - 0xc)" ( (binary_expression "pEVar7->e_flags - 0xc" (field_expression "pEVar7->e_flags" identifier -> field_identifier) - number_literal) ))) )))) ;)) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" identifier = number_literal) ;) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)auStack_130;" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)auStack_130" identifier = (cast_expression "(Elf32_Ehdr *)auStack_130" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEVar49 = &EStack_108;" (assignment_expression "pEVar49 = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "pEVar47 = pEStack_150;" (assignment_expression "pEVar47 = pEStack_150" identifier = identifier) ;) (while_statement "while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }" { (expression_statement "uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;" (assignment_expression "uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion" identifier = (pointer_expression "*(undefined4 *)&pEVar47[1].e_ident_abiversion" * (cast_expression "(undefined4 *)&pEVar47[1].e_ident_abiversion" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47[1].e_ident_abiversion" & (field_expression "pEVar47[1].e_ident_abiversion" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "iVar18 = *(int *)(pbStack_1c0 + iVar10);" (assignment_expression "iVar18 = *(int *)(pbStack_1c0 + iVar10)" identifier = (pointer_expression "*(int *)(pbStack_1c0 + iVar10)" * (cast_expression "(int *)(pbStack_1c0 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + iVar10)" ( (binary_expression "pbStack_1c0 + iVar10" identifier + identifier) ))))) ;) (expression_statement "*(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;" (assignment_expression "*(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18" (pointer_expression "*(int *)(auStack_cc + (iVar44 + 10) * 4)" * (cast_expression "(int *)(auStack_cc + (iVar44 + 10) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 10) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 10) * 4" identifier + (binary_expression "(iVar44 + 10) * 4" (parenthesized_expression "(iVar44 + 10)" ( (binary_expression "iVar44 + 10" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;" (assignment_expression "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13" (pointer_expression "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4)" * (cast_expression "(undefined4 *)(auStack_cc + (iVar44 + 4) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 4) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 4) * 4" identifier + (binary_expression "(iVar44 + 4) * 4" (parenthesized_expression "(iVar44 + 4)" ( (binary_expression "iVar44 + 4" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "iVar20 = iVar44 + 1;" (assignment_expression "iVar20 = iVar44 + 1" identifier = (binary_expression "iVar44 + 1" identifier + number_literal)) ;) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }" { (expression_statement "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;" (assignment_expression "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion" (pointer_expression "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4)" * (cast_expression "(undefined4 *)(auStack_cc + (iVar44 + 5) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 5) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 5) * 4" identifier + (binary_expression "(iVar44 + 5) * 4" (parenthesized_expression "(iVar44 + 5)" ( (binary_expression "iVar44 + 5" identifier + number_literal) )) * number_literal)) )))) = (pointer_expression "*(undefined4 *)&pEVar26[1].e_ident_abiversion" * (cast_expression "(undefined4 *)&pEVar26[1].e_ident_abiversion" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_abiversion" & (field_expression "pEVar26[1].e_ident_abiversion" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "*(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;" (assignment_expression "*(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1" (pointer_expression "*(int *)(auStack_cc + (iVar44 + 0xb) * 4)" * (cast_expression "(int *)(auStack_cc + (iVar44 + 0xb) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 0xb) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 0xb) * 4" identifier + (binary_expression "(iVar44 + 0xb) * 4" (parenthesized_expression "(iVar44 + 0xb)" ( (binary_expression "iVar44 + 0xb" identifier + number_literal) )) * number_literal)) )))) = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar44 + 2;" (assignment_expression "iVar20 = iVar44 + 2" identifier = (binary_expression "iVar44 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar44 = iVar20;" (assignment_expression "iVar44 = iVar20" identifier = identifier) ;) (expression_statement "bVar22 = pEVar47->e_ident_pad[3];" (assignment_expression "bVar22 = pEVar47->e_ident_pad[3]" identifier = (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;" (assignment_expression "iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version" identifier = (binary_expression "(int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "(uint)*(ushort *)&pEVar47->e_version" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&pEVar47->e_version" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47->e_version" & (field_expression "pEVar47->e_version" identifier -> field_identifier)))))) ;) (expression_statement "*(int *)pEVar49 = iVar20;" (assignment_expression "*(int *)pEVar49 = iVar20" (pointer_expression "*(int *)pEVar49" * (cast_expression "(int *)pEVar49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }" if (parenthesized_expression "(bVar22 != 0)" ( (binary_expression "bVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }" { (expression_statement "pdVar27 = &pEVar47->e_flags;" (assignment_expression "pdVar27 = &pEVar47->e_flags" identifier = (pointer_expression "&pEVar47->e_flags" & (field_expression "pEVar47->e_flags" identifier -> field_identifier))) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);" do (compound_statement "{\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      }" { (expression_statement "dVar30 = *pdVar27;" (assignment_expression "dVar30 = *pdVar27" identifier = (pointer_expression "*pdVar27" * identifier)) ;) (expression_statement "iVar35 = iVar35 + 1;" (assignment_expression "iVar35 = iVar35 + 1" identifier = (binary_expression "iVar35 + 1" identifier + number_literal)) ;) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" identifier = (binary_expression "pdVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);" (assignment_expression "iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30)" identifier = (call_expression "(*(code *)pEVar47[1].e_entry)(pEVar47,dVar30)" (parenthesized_expression "(*(code *)pEVar47[1].e_entry)" ( (pointer_expression "*(code *)pEVar47[1].e_entry" * (cast_expression "(code *)pEVar47[1].e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47[1].e_entry" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(pEVar47,dVar30)" ( identifier , identifier )))) ;) (expression_statement "bVar22 = pEVar47->e_ident_pad[3];" (assignment_expression "bVar22 = pEVar47->e_ident_pad[3]" identifier = (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar20 = iVar20 + iVar19 + 2;" (assignment_expression "iVar20 = iVar20 + iVar19 + 2" identifier = (binary_expression "iVar20 + iVar19 + 2" (binary_expression "iVar20 + iVar19" identifier + identifier) + number_literal)) ;) (expression_statement "*(int *)pEVar49 = iVar20;" (assignment_expression "*(int *)pEVar49 = iVar20" (pointer_expression "*(int *)pEVar49" * (cast_expression "(int *)pEVar49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) while (parenthesized_expression "(iVar35 < (int)(uint)bVar22)" ( (binary_expression "iVar35 < (int)(uint)bVar22" identifier < (cast_expression "(int)(uint)bVar22" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ;) })) (expression_statement "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;" (assignment_expression "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18" (pointer_expression "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" * (cast_expression "(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10 + -1" (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10" (field_expression "pEStack_1a8->e_ident_magic_str" identifier -> field_identifier) + identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iStack_1d0 == iVar10) break;" if (parenthesized_expression "(iStack_1d0 == iVar10)" ( (binary_expression "iStack_1d0 == iVar10" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" * (cast_expression "(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppEStack_1dc + iVar10 + 4)" ( (binary_expression "(int)ppEStack_1dc + iVar10 + 4" (binary_expression "(int)ppEStack_1dc + iVar10" (cast_expression "(int)ppEStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "iVar10 = iVar10 + 4;" (assignment_expression "iVar10 = iVar10 + 4" identifier = (binary_expression "iVar10 + 4" identifier + number_literal)) ;) })) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_cc" identifier = (cast_expression "(Elf32_Ehdr *)auStack_cc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)0x1;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)0x1" identifier = (cast_expression "(Elf32_Ehdr *)0x1" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&SUB_00000002;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&SUB_00000002" identifier = (cast_expression "(Elf32_Ehdr *)&SUB_00000002" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "pEVar42 = pEStack_1a8;" (assignment_expression "pEVar42 = pEStack_1a8" identifier = identifier) ;) (expression_statement "pEVar54 = &EStack_108;" (assignment_expression "pEVar54 = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }" { (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar47[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar47[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar47[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar47[-1].e_shstrndx" & (field_expression "pEVar47[-1].e_shstrndx" (subscript_expression "pEVar47[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "iVar44._0_1_ = pEVar54->e_ident_magic_num;" (assignment_expression "iVar44._0_1_ = pEVar54->e_ident_magic_num" (field_expression "iVar44._0_1_" identifier . field_identifier) = (field_expression "pEVar54->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "iVar44._1_1_ = pEVar54->e_ident_magic_str[0];" (assignment_expression "iVar44._1_1_ = pEVar54->e_ident_magic_str[0]" (field_expression "iVar44._1_1_" identifier . field_identifier) = (subscript_expression "pEVar54->e_ident_magic_str[0]" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar44._2_1_ = pEVar54->e_ident_magic_str[1];" (assignment_expression "iVar44._2_1_ = pEVar54->e_ident_magic_str[1]" (field_expression "iVar44._2_1_" identifier . field_identifier) = (subscript_expression "pEVar54->e_ident_magic_str[1]" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar44._3_1_ = pEVar54->e_ident_magic_str[2];" (assignment_expression "iVar44._3_1_ = pEVar54->e_ident_magic_str[2]" (field_expression "iVar44._3_1_" identifier . field_identifier) = (subscript_expression "pEVar54->e_ident_magic_str[2]" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" identifier = identifier) ;) (expression_statement "pEVar11 = pEVar48;" (assignment_expression "pEVar11 = pEVar48" identifier = identifier) ;) (expression_statement "pEVar51 = pEVar42;" (assignment_expression "pEVar51 = pEVar42" identifier = identifier) ;) (expression_statement "pEStack_1d4 = pEStack_1a8;" (assignment_expression "pEStack_1d4 = pEStack_1a8" identifier = identifier) ;) (expression_statement "pEStack_1b0 = pEVar7;" (assignment_expression "pEStack_1b0 = pEVar7" identifier = identifier) ;) (if_statement "if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" if (parenthesized_expression "((int)pEStack_1f4 < iVar44)" ( (binary_expression "(int)pEStack_1f4 < iVar44" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }" { (do_statement "do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);" do (compound_statement "{\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      }" { (expression_statement "pEVar48 = pEVar50;" (assignment_expression "pEVar48 = pEVar50" identifier = identifier) ;) (if_statement "if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }" if (parenthesized_expression "((int)pEVar11 <= (int)pEVar47)" ( (binary_expression "(int)pEVar11 <= (int)pEVar47" (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }" { (if_statement "if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }" if (parenthesized_expression "(pEVar49 == (Elf32_Ehdr *)&DAT_00000006)" ( (binary_expression "pEVar49 == (Elf32_Ehdr *)&DAT_00000006" identifier == (cast_expression "(Elf32_Ehdr *)&DAT_00000006" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) )) (compound_statement "{\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }" { (expression_statement "uVar13 = 0x11477;" (assignment_expression "uVar13 = 0x11477" identifier = number_literal) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)&DAT_00000006;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)&DAT_00000006" identifier = (cast_expression "(Elf32_Ehdr *)&DAT_00000006" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;) (expression_statement "pEStack_1b8 = pEStack_1c4;" (assignment_expression "pEStack_1b8 = pEStack_1c4" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) })) (expression_statement "pEVar54->e_ident_class = 0;" (assignment_expression "pEVar54->e_ident_class = 0" (field_expression "pEVar54->e_ident_class" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar54->e_ident_data = 0;" (assignment_expression "pEVar54->e_ident_data = 0" (field_expression "pEVar54->e_ident_data" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar54->e_ident_version = 0;" (assignment_expression "pEVar54->e_ident_version = 0" (field_expression "pEVar54->e_ident_version" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar54->e_ident_osabi = 0;" (assignment_expression "pEVar54->e_ident_osabi = 0" (field_expression "pEVar54->e_ident_osabi" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar42->e_ident_class = auStack_cc[0];" (assignment_expression "pEVar42->e_ident_class = auStack_cc[0]" (field_expression "pEVar42->e_ident_class" identifier -> field_identifier) = (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) ;) (expression_statement "pEVar42->e_ident_data = auStack_cc[1];" (assignment_expression "pEVar42->e_ident_data = auStack_cc[1]" (field_expression "pEVar42->e_ident_data" identifier -> field_identifier) = (subscript_expression "auStack_cc[1]" identifier [ number_literal ])) ;) (expression_statement "pEVar42->e_ident_version = auStack_cc[2];" (assignment_expression "pEVar42->e_ident_version = auStack_cc[2]" (field_expression "pEVar42->e_ident_version" identifier -> field_identifier) = (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) ;) (expression_statement "pEVar42->e_ident_osabi = auStack_cc[3];" (assignment_expression "pEVar42->e_ident_osabi = auStack_cc[3]" (field_expression "pEVar42->e_ident_osabi" identifier -> field_identifier) = (subscript_expression "auStack_cc[3]" identifier [ number_literal ])) ;) (expression_statement "pEVar11 = pEVar49;" (assignment_expression "pEVar11 = pEVar49" identifier = identifier) ;) })) (expression_statement "pEVar48 = pEVar11;" (assignment_expression "pEVar48 = pEVar11" identifier = identifier) ;) (expression_statement "pEVar51 = *(Elf32_Ehdr **)pEVar42;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)pEVar42" identifier = (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar51[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar51[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar51[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar51[-1].e_shstrndx" & (field_expression "pEVar51[-1].e_shstrndx" (subscript_expression "pEVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar50 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar50 * 2)" ( (binary_expression "(int)pEVar50 * 2" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);" (assignment_expression "uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" identifier = (binary_expression "(uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" ( (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) ))))) ;) (if_statement "if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }" { (expression_statement "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar50)" ( identifier , identifier )))) ;) (expression_statement "pEStack_1f0 = pEVar11;" (assignment_expression "pEStack_1f0 = pEVar11" identifier = identifier) ;) })) (expression_statement "iVar10 = uVar25 + 2;" (assignment_expression "iVar10 = uVar25 + 2" identifier = (binary_expression "uVar25 + 2" identifier + number_literal)) ;) (expression_statement "iVar44 = *(int *)pEVar54 - iVar10;" (assignment_expression "iVar44 = *(int *)pEVar54 - iVar10" identifier = (binary_expression "*(int *)pEVar54 - iVar10" (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) - identifier)) ;) (expression_statement "*(int *)pEVar54 = iVar44;" (assignment_expression "*(int *)pEVar54 = iVar44" (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }" if (parenthesized_expression "(((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0))" ( (binary_expression "((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)" (parenthesized_expression "((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_))" ( (binary_expression "(pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)" (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)" ( (comma_expression "iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_" (assignment_expression "iVar10 = 0" identifier = number_literal) , (binary_expression "(int)pEVar51 < (int)auStack_cc._0_4_" (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)))) ))) )) && (parenthesized_expression "(iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)" ( (comma_expression "iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0" (assignment_expression "iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2" identifier = (binary_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2" (pointer_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" * (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + 1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) + number_literal)) , (binary_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0" (pointer_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" * (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + 1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }" { (expression_statement "iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);" (assignment_expression "iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar51)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar51)" ( identifier , identifier )))) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar20 = *(int *)&pEVar54->e_ident_class;" (assignment_expression "iVar20 = *(int *)&pEVar54->e_ident_class" identifier = (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier))))) ;) (expression_statement "*(Elf32_Ehdr **)pEVar42 = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEVar42 = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(int *)&pEVar54->e_ident_class = iVar20 + iVar10;" (assignment_expression "*(int *)&pEVar54->e_ident_class = iVar20 + iVar10" (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) = (binary_expression "iVar20 + iVar10" identifier + identifier)) ;) (expression_statement "pEVar11 = pEVar48;" (assignment_expression "pEVar11 = pEVar48" identifier = identifier) ;) }) while (parenthesized_expression "((int)pEStack_1f4 < iVar44)" ( (binary_expression "(int)pEStack_1f4 < iVar44" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) }) (else_clause "else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" else (compound_statement "{\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" { (expression_statement "pEVar50 = *(Elf32_Ehdr **)pEVar42;" (assignment_expression "pEVar50 = *(Elf32_Ehdr **)pEVar42" identifier = (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }))) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (if_statement "if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;" if (parenthesized_expression "((int)auStack_cc._0_4_ <= (int)pEVar50)" ( (binary_expression "(int)auStack_cc._0_4_ <= (int)pEVar50" (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)) <= (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (while_statement "while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }" { (expression_statement "iVar44 = (int)pEVar50 * 2;" (assignment_expression "iVar44 = (int)pEVar50 * 2" identifier = (binary_expression "(int)pEVar50 * 2" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + iVar44)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + iVar44)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + iVar44)" ( (binary_expression "aiStack_c0[0] + iVar44" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + identifier) ))))) ;) (if_statement "if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }" { (expression_statement "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar50)" ( identifier , identifier )))) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) })) (expression_statement "iVar20 = uVar25 + 2;" (assignment_expression "iVar20 = uVar25 + 2" identifier = (binary_expression "uVar25 + 2" identifier + number_literal)) ;) (if_statement "if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;" if (parenthesized_expression "((int)pEStack_1f4 < iVar20 + *(int *)pEVar54)" ( (binary_expression "(int)pEStack_1f4 < iVar20 + *(int *)pEVar54" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "iVar20 + *(int *)pEVar54" identifier + (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) )) (break_statement "break;" break ;)) (expression_statement "pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar50->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar50->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "*(int *)pEVar54 = iVar20 + *(int *)pEVar54;" (assignment_expression "*(int *)pEVar54 = iVar20 + *(int *)pEVar54" (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "iVar20 + *(int *)pEVar54" identifier + (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "*(Elf32_Ehdr **)pEVar42 = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEVar42 = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "bVar4 = (int)pEVar50 < iVar10;" (assignment_expression "bVar4 = (int)pEVar50 < iVar10" identifier = (binary_expression "(int)pEVar50 < iVar10" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) < identifier)) ;) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }" { (if_statement "if (!bVar4) goto LAB_000a4c3c;" if (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) )) (goto_statement "goto LAB_000a4c3c;" goto statement_identifier ;)) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + iVar44 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + iVar44 + 2)" ( (binary_expression "aiStack_c0[0] + iVar44 + 2" (binary_expression "aiStack_c0[0] + iVar44" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "iVar20 = uVar25 + 2;" (assignment_expression "iVar20 = uVar25 + 2" identifier = (binary_expression "uVar25 + 2" identifier + number_literal)) ;) (if_statement "if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }" { (expression_statement "iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar50)" ( identifier , identifier )))) ;) (expression_statement "bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;" (assignment_expression "bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_" identifier = (binary_expression "(int)pEVar50 < (int)auStack_cc._0_4_" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar20 = iVar20 + 2;" (assignment_expression "iVar20 = iVar20 + 2" identifier = (binary_expression "iVar20 + 2" identifier + number_literal)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) })) })) (expression_statement "*(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;" (assignment_expression "*(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20" (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) = (binary_expression "*(int *)&pEVar54->e_ident_class - iVar20" (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) - identifier)) ;) (if_statement "if (!bVar4) goto LAB_000a4c3c;" if (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) )) (goto_statement "goto LAB_000a4c3c;" goto statement_identifier ;)) })) (if_statement "if (iVar10 <= (int)pEVar50) break;" if (parenthesized_expression "(iVar10 <= (int)pEVar50)" ( (binary_expression "iVar10 <= (int)pEVar50" identifier <= (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (if_statement "if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }" if (parenthesized_expression "(pEStack_1c4 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1c4 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }" { (expression_statement "iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;" (assignment_expression "iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum" (field_expression "iVar20._0_2_" identifier . field_identifier) = (field_expression "pEVar42[-0xffffffff00000001].e_shnum" (subscript_expression "pEVar42[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;" (assignment_expression "iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx" (field_expression "iVar20._2_2_" identifier . field_identifier) = (field_expression "pEVar42[-0xffffffff00000001].e_shstrndx" (subscript_expression "pEVar42[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) })) (expression_statement "bVar4 = (int)pEVar48 <= (int)pEVar47;" (assignment_expression "bVar4 = (int)pEVar48 <= (int)pEVar47" identifier = (binary_expression "(int)pEVar48 <= (int)pEVar47" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pEStack_1f0 = pEVar48;" (assignment_expression "pEStack_1f0 = pEVar48" identifier = identifier) ;) (if_statement "if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }" if (parenthesized_expression "((int)pEVar50 <= iVar20)" ( (binary_expression "(int)pEVar50 <= iVar20" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }" { (expression_statement "uVar13 = 0x11498;" (assignment_expression "uVar13 = 0x11498" identifier = number_literal) ;) (expression_statement "pEVar51 = pEVar42;" (assignment_expression "pEVar51 = pEVar42" identifier = identifier) ;) (expression_statement "pEStack_1b8 = pEStack_1c4;" (assignment_expression "pEStack_1b8 = pEStack_1c4" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) })) (expression_statement "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar47->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar54->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;" (assignment_expression "pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar42->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar42->e_ident_class" & (field_expression "pEVar42->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar49->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier))) ;) (if_statement "if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }" { (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar47 = pEVar48;" (assignment_expression "pEVar47 = pEVar48" identifier = identifier) ;) (break_statement "break;" break ;) })) })) (labeled_statement "LAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;" statement_identifier : (expression_statement "iVar10 = (int)pEStack_1c4 * 4;" (assignment_expression "iVar10 = (int)pEStack_1c4 * 4" identifier = (binary_expression "(int)pEStack_1c4 * 4" (cast_expression "(int)pEStack_1c4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;)) (if_statement "if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" if (parenthesized_expression "(pEStack_1c4 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1c4 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" { (labeled_statement "LAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;" statement_identifier : (expression_statement "pEStack_1ec = (Elf32_Ehdr *)auStack_144;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)auStack_144" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);" (assignment_expression "pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4)" identifier = (cast_expression "(Elf32_Ehdr *)(auStack_188 + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_188 + 4)" ( (binary_expression "auStack_188 + 4" identifier + number_literal) )))) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75e4) + 0x1660)" ( (binary_expression "*(int *)(puVar53 + 0xb75e4) + 0x1660" (pointer_expression "*(int *)(puVar53 + 0xb75e4)" * (cast_expression "(int *)(puVar53 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x7474)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x7474" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);" (assignment_expression "pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(puVar53 + 0xb75e4)" * (cast_expression "(Elf32_Ehdr **)(puVar53 + 0xb75e4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) ))))) ;) (expression_statement "bVar22 = **(byte **)&pEStack_150[1].e_ident_class;" (assignment_expression "bVar22 = **(byte **)&pEStack_150[1].e_ident_class" identifier = (pointer_expression "**(byte **)&pEStack_150[1].e_ident_class" * (pointer_expression "*(byte **)&pEStack_150[1].e_ident_class" * (cast_expression "(byte **)&pEStack_150[1].e_ident_class" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier)))))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22" identifier = (cast_expression "(Elf32_Ehdr *)(uint)bVar22" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" identifier = identifier) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);" do (compound_statement "{\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    }" { (expression_statement "pEVar42 = pEVar50;" (assignment_expression "pEVar42 = pEVar50" identifier = identifier) ;) (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" identifier = identifier) ;) (if_statement "if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" if (parenthesized_expression "((int)pEVar42 < (int)pcStack_1bc)" ( (binary_expression "(int)pEVar42 < (int)pcStack_1bc" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }" { (expression_statement "auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];" (assignment_expression "auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42]" (field_expression "auStack_180._0_4_" identifier . field_identifier) = (subscript_expression "ppEStack_1dc[(int)pEVar42]" identifier [ (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;" (assignment_expression "ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0" (subscript_expression "ppEStack_1dc[(int)pEVar42]" identifier [ (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)pEVar49 = auStack_180._0_4_;" (assignment_expression "*(undefined4 *)pEVar49 = auStack_180._0_4_" (pointer_expression "*(undefined4 *)pEVar49" * (cast_expression "(undefined4 *)pEVar49" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "auStack_180._0_4_" identifier . field_identifier)) ;) (expression_statement "auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);" (assignment_expression "auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" identifier (argument_list "(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" ( (field_expression "((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version" (parenthesized_expression "((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_180._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_180._0_4_ + 0x34)" ( (binary_expression "auStack_180._0_4_ + 0x34" (field_expression "auStack_180._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) )))) ;) (labeled_statement "joined_r0x000a5018:\n        pEVar51 = pEVar26;" statement_identifier : (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;)) (expression_statement "unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar42->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) }) (else_clause "else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" else (compound_statement "{\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" { (expression_statement "auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);" (assignment_expression "auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0)" (parenthesized_expression "(*(code *)pEStack_1e8)" ( (pointer_expression "*(code *)pEStack_1e8" * (cast_expression "(code *)pEStack_1e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar7,auStack_180,pEVar48,1,0)" ( identifier , identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = pEVar42;" (assignment_expression "unaff_s7 = pEVar42" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (expression_statement "(*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);" (call_expression "(*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_180._0_4_,pEStack_1f0)" ( (field_expression "auStack_180._0_4_" identifier . field_identifier) , identifier ))) ;) (expression_statement "uVar13 = auStack_cc._0_4_;" (assignment_expression "uVar13 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (expression_statement "wVar6 = pEVar7->e_type;" (assignment_expression "wVar6 = pEVar7->e_type" identifier = (field_expression "pEVar7->e_type" identifier -> field_identifier)) ;) (expression_statement "pEVar49->e_ident_magic_num = auStack_180[0];" (assignment_expression "pEVar49->e_ident_magic_num = auStack_180[0]" (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier) = (subscript_expression "auStack_180[0]" identifier [ number_literal ])) ;) (expression_statement "pEVar49->e_ident_magic_str[0] = auStack_180[1];" (assignment_expression "pEVar49->e_ident_magic_str[0] = auStack_180[1]" (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "auStack_180[1]" identifier [ number_literal ])) ;) (expression_statement "pEVar49->e_ident_magic_str[1] = auStack_180[2];" (assignment_expression "pEVar49->e_ident_magic_str[1] = auStack_180[2]" (subscript_expression "pEVar49->e_ident_magic_str[1]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "auStack_180[2]" identifier [ number_literal ])) ;) (expression_statement "pEVar49->e_ident_magic_str[2] = auStack_180[3];" (assignment_expression "pEVar49->e_ident_magic_str[2] = auStack_180[3]" (subscript_expression "pEVar49->e_ident_magic_str[2]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "auStack_180[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;" (assignment_expression "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13" (pointer_expression "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4)" * (cast_expression "(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + (int)pEVar42 * 4)" ( (binary_expression "pbStack_1c0 + (int)pEVar42 * 4" identifier + (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }" if (parenthesized_expression "((char)wVar6 != '\0')" ( (binary_expression "(char)wVar6 != '\0'" (cast_expression "(char)wVar6" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }" { (expression_statement "uVar13._0_1_ = pEVar26->e_ident_class;" (assignment_expression "uVar13._0_1_ = pEVar26->e_ident_class" (field_expression "uVar13._0_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_class" identifier -> field_identifier)) ;) (expression_statement "uVar13._1_1_ = pEVar26->e_ident_data;" (assignment_expression "uVar13._1_1_ = pEVar26->e_ident_data" (field_expression "uVar13._1_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_data" identifier -> field_identifier)) ;) (expression_statement "uVar13._2_1_ = pEVar26->e_ident_version;" (assignment_expression "uVar13._2_1_ = pEVar26->e_ident_version" (field_expression "uVar13._2_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_version" identifier -> field_identifier)) ;) (expression_statement "uVar13._3_1_ = pEVar26->e_ident_osabi;" (assignment_expression "uVar13._3_1_ = pEVar26->e_ident_osabi" (field_expression "uVar13._3_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_osabi" identifier -> field_identifier)) ;) (expression_statement "FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);" (call_expression "FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188)" identifier (argument_list "(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188)" ( identifier , (pointer_expression "*(undefined4 *)(auStack_180._0_4_ + 4)" * (cast_expression "(undefined4 *)(auStack_180._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_180._0_4_ + 4)" ( (binary_expression "auStack_180._0_4_ + 4" (field_expression "auStack_180._0_4_" identifier . field_identifier) + number_literal) )))) , number_literal , identifier , identifier ))) ;) (goto_statement "goto joined_r0x000a5018;" goto statement_identifier ;) })) }))) (expression_statement "pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar42->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((int)pEVar50 < (int)pEVar47)" ( (binary_expression "(int)pEVar50 < (int)pEVar47" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "piVar40 = (int *)(auStack_144 + 4);" (assignment_expression "piVar40 = (int *)(auStack_144 + 4)" identifier = (cast_expression "(int *)(auStack_144 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144 + 4)" ( (binary_expression "auStack_144 + 4" identifier + number_literal) )))) ;) (expression_statement "pwVar28 = &EStack_108.e_phnum;" (assignment_expression "pwVar28 = &EStack_108.e_phnum" identifier = (pointer_expression "&EStack_108.e_phnum" & (field_expression "EStack_108.e_phnum" identifier . field_identifier))) ;) (expression_statement "pwVar33 = awStack_15c;" (assignment_expression "pwVar33 = awStack_15c" identifier = identifier) ;) (expression_statement "EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);" (assignment_expression "EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4)" (field_expression "EStack_108.e_version" identifier . field_identifier) = (pointer_expression "*(dword *)(auStack_144._0_4_ + 4)" * (cast_expression "(dword *)(auStack_144._0_4_ + 4)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 4)" ( (binary_expression "auStack_144._0_4_ + 4" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "puVar17 = (undefined1 *)0x1;" (assignment_expression "puVar17 = (undefined1 *)0x1" identifier = (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);" (assignment_expression "EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10)" (field_expression "EStack_108.e_ehsize" identifier . field_identifier) = (cast_expression "(short)(EStack_108.e_version >> 0x10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(EStack_108.e_version >> 0x10)" ( (binary_expression "EStack_108.e_version >> 0x10" (field_expression "EStack_108.e_version" identifier . field_identifier) >> number_literal) )))) ;) (expression_statement "EStack_108.e_phentsize = (short)EStack_108.e_version;" (assignment_expression "EStack_108.e_phentsize = (short)EStack_108.e_version" (field_expression "EStack_108.e_phentsize" identifier . field_identifier) = (cast_expression "(short)EStack_108.e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (expression_statement "awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);" (assignment_expression "awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" (subscript_expression "awStack_15c[0]" identifier [ number_literal ]) = (pointer_expression "*(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" * (cast_expression "(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" ( (binary_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c" (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) + number_literal) ))))) ;) (expression_statement "pdVar27 = &EStack_108.e_version;" (assignment_expression "pdVar27 = &EStack_108.e_version" identifier = (pointer_expression "&EStack_108.e_version" & (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (while_statement "while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }" { (expression_statement "pwVar33 = pwVar33 + 1;" (assignment_expression "pwVar33 = pwVar33 + 1" identifier = (binary_expression "pwVar33 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb753c);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb753c)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) ))))) ;) (if_statement "if (pEVar50 == (Elf32_Ehdr *)puVar17) break;" if (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)puVar17)" ( (binary_expression "pEVar50 == (Elf32_Ehdr *)puVar17" identifier == (cast_expression "(Elf32_Ehdr *)puVar17" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar25 = *(uint *)(*piVar40 + 4);" (assignment_expression "uVar25 = *(uint *)(*piVar40 + 4)" identifier = (pointer_expression "*(uint *)(*piVar40 + 4)" * (cast_expression "(uint *)(*piVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar40 + 4)" ( (binary_expression "*piVar40 + 4" (pointer_expression "*piVar40" * identifier) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(*piVar40 + 0x48);" (assignment_expression "iVar10 = *(int *)(*piVar40 + 0x48)" identifier = (pointer_expression "*(int *)(*piVar40 + 0x48)" * (cast_expression "(int *)(*piVar40 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar40 + 0x48)" ( (binary_expression "*piVar40 + 0x48" (pointer_expression "*piVar40" * identifier) + number_literal) ))))) ;) (expression_statement "pdVar27[1] = uVar25;" (assignment_expression "pdVar27[1] = uVar25" (subscript_expression "pdVar27[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)pwVar28 = uVar25;" (assignment_expression "*(uint *)pwVar28 = uVar25" (pointer_expression "*(uint *)pwVar28" * (cast_expression "(uint *)pwVar28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "bVar4 = uVar25 == EStack_108.e_version;" (assignment_expression "bVar4 = uVar25 == EStack_108.e_version" identifier = (binary_expression "uVar25 == EStack_108.e_version" identifier == (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (expression_statement "*pwVar33 = *(word *)(iVar10 + 0x1c);" (assignment_expression "*pwVar33 = *(word *)(iVar10 + 0x1c)" (pointer_expression "*pwVar33" * identifier) = (pointer_expression "*(word *)(iVar10 + 0x1c)" * (cast_expression "(word *)(iVar10 + 0x1c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pdVar15 = &EStack_108.e_version;" (assignment_expression "pdVar15 = &EStack_108.e_version" identifier = (pointer_expression "&EStack_108.e_version" & (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (if_statement "if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }" { (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);" statement_identifier : (expression_statement "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);" (assignment_expression "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(iVar10 + -0x75c0))(0x1150c)" (parenthesized_expression "(*(code *)(iVar10 + -0x75c0))" ( (pointer_expression "*(code *)(iVar10 + -0x75c0)" * (cast_expression "(code *)(iVar10 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x75c0)" ( (binary_expression "iVar10 + -0x75c0" identifier + number_literal) )))) )) (argument_list "(0x1150c)" ( number_literal )))) ;)) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar42 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar42 * 4)" ( (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })) (while_statement "while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }" while (parenthesized_expression "(pdVar16 = pdVar15 + 1, pdVar27 != pdVar15)" ( (comma_expression "pdVar16 = pdVar15 + 1, pdVar27 != pdVar15" (assignment_expression "pdVar16 = pdVar15 + 1" identifier = (binary_expression "pdVar15 + 1" identifier + number_literal)) , (binary_expression "pdVar27 != pdVar15" identifier != identifier)) )) (compound_statement "{\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }" { (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pdVar15 = pdVar16;" (assignment_expression "pdVar15 = pdVar16" identifier = identifier) ;) (if_statement "if (uVar25 == *pdVar16) goto LAB_000a5138;" if (parenthesized_expression "(uVar25 == *pdVar16)" ( (binary_expression "uVar25 == *pdVar16" identifier == (pointer_expression "*pdVar16" * identifier)) )) (goto_statement "goto LAB_000a5138;" goto statement_identifier ;)) })) (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" identifier = (binary_expression "pdVar27 + 1" identifier + number_literal)) ;) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) (expression_statement "pwVar28 = pwVar28 + 2;" (assignment_expression "pwVar28 = pwVar28 + 2" identifier = (binary_expression "pwVar28 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" identifier = number_literal) ;) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" identifier = identifier) ;) (do_statement "do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );" do (compound_statement "{\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    }" { (expression_statement "uVar25._0_2_ = EStack_108.e_ehsize;" (assignment_expression "uVar25._0_2_ = EStack_108.e_ehsize" (field_expression "uVar25._0_2_" identifier . field_identifier) = (field_expression "EStack_108.e_ehsize" identifier . field_identifier)) ;) (expression_statement "uVar25._2_2_ = EStack_108.e_phentsize;" (assignment_expression "uVar25._2_2_ = EStack_108.e_phentsize" (field_expression "uVar25._2_2_" identifier . field_identifier) = (field_expression "EStack_108.e_phentsize" identifier . field_identifier)) ;) (if_statement "if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" if (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)0x1)" ( (binary_expression "pEVar50 == (Elf32_Ehdr *)0x1" identifier == (cast_expression "(Elf32_Ehdr *)0x1" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }" { (expression_statement "auStack_188._4_2_ = EStack_108.e_ehsize;" (assignment_expression "auStack_188._4_2_ = EStack_108.e_ehsize" (field_expression "auStack_188._4_2_" identifier . field_identifier) = (field_expression "EStack_108.e_ehsize" identifier . field_identifier)) ;) (expression_statement "auStack_188._6_2_ = EStack_108.e_phentsize;" (assignment_expression "auStack_188._6_2_ = EStack_108.e_phentsize" (field_expression "auStack_188._6_2_" identifier . field_identifier) = (field_expression "EStack_108.e_phentsize" identifier . field_identifier)) ;) (expression_statement "EStack_108.e_ehsize = 0xffff;" (assignment_expression "EStack_108.e_ehsize = 0xffff" (field_expression "EStack_108.e_ehsize" identifier . field_identifier) = number_literal) ;) (expression_statement "EStack_108.e_phentsize = 0xffff;" (assignment_expression "EStack_108.e_phentsize = 0xffff" (field_expression "EStack_108.e_phentsize" identifier . field_identifier) = number_literal) ;) (if_statement "if (iVar44 == 0) goto LAB_000a5230;" if (parenthesized_expression "(iVar44 == 0)" ( (binary_expression "iVar44 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000a5230;" goto statement_identifier ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000a51ec:\n        iVar35 = *(int *)pEVar49;" statement_identifier : (expression_statement "iVar35 = *(int *)pEVar49;" (assignment_expression "iVar35 = *(int *)pEVar49" identifier = (pointer_expression "*(int *)pEVar49" * (cast_expression "(int *)pEVar49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar18 = *(int *)(iVar35 + 0x48);" (assignment_expression "iVar18 = *(int *)(iVar35 + 0x48)" identifier = (pointer_expression "*(int *)(iVar35 + 0x48)" * (cast_expression "(int *)(iVar35 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 0x48)" ( (binary_expression "iVar35 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "*(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];" (assignment_expression "*(word *)(iVar18 + 0x1c) = awStack_15c[iVar20]" (pointer_expression "*(word *)(iVar18 + 0x1c)" * (cast_expression "(word *)(iVar18 + 0x1c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x1c)" ( (binary_expression "iVar18 + 0x1c" identifier + number_literal) )))) = (subscript_expression "awStack_15c[iVar20]" identifier [ identifier ])) ;) (expression_statement "(*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);" (call_expression "(*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_)" (parenthesized_expression "(*(code *)(iVar10 + -0x2370))" ( (pointer_expression "*(code *)(iVar10 + -0x2370)" * (cast_expression "(code *)(iVar10 + -0x2370)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x2370)" ( (binary_expression "iVar10 + -0x2370" identifier + number_literal) )))) )) (argument_list "(iVar18,auStack_188._4_4_)" ( identifier , (field_expression "auStack_188._4_4_" identifier . field_identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;" (assignment_expression "*(undefined4 *)(iVar35 + 4) = auStack_188._4_4_" (pointer_expression "*(undefined4 *)(iVar35 + 4)" * (cast_expression "(undefined4 *)(iVar35 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 4)" ( (binary_expression "iVar35 + 4" identifier + number_literal) )))) = (field_expression "auStack_188._4_4_" identifier . field_identifier)) ;) }) (else_clause "else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" else (compound_statement "{\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" { (expression_statement "pwVar28 = &EStack_108.e_ehsize;" (assignment_expression "pwVar28 = &EStack_108.e_ehsize" identifier = (pointer_expression "&EStack_108.e_ehsize" & (field_expression "EStack_108.e_ehsize" identifier . field_identifier))) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = 1;" (assignment_expression "iVar18 = 1" identifier = number_literal) ;) (expression_statement "auStack_188._4_4_ = EStack_108._40_4_;" (assignment_expression "auStack_188._4_4_ = EStack_108._40_4_" (field_expression "auStack_188._4_4_" identifier . field_identifier) = (field_expression "EStack_108._40_4_" identifier . field_identifier)) ;) (do_statement "do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);" do (compound_statement "{\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        }" { (expression_statement "uVar25 = *(uint *)(pwVar28 + 2);" (assignment_expression "uVar25 = *(uint *)(pwVar28 + 2)" identifier = (pointer_expression "*(uint *)(pwVar28 + 2)" * (cast_expression "(uint *)(pwVar28 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar28 + 2)" ( (binary_expression "pwVar28 + 2" identifier + number_literal) ))))) ;) (expression_statement "pwVar28 = pwVar28 + 2;" (assignment_expression "pwVar28 = pwVar28 + 2" identifier = (binary_expression "pwVar28 + 2" identifier + number_literal)) ;) (if_statement "if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }" if (parenthesized_expression "(uVar25 < (uint)auStack_188._4_4_)" ( (binary_expression "uVar25 < (uint)auStack_188._4_4_" identifier < (cast_expression "(uint)auStack_188._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_188._4_4_" identifier . field_identifier))) )) (compound_statement "{\n            iVar20 = iVar18;\n          }" { (expression_statement "iVar20 = iVar18;" (assignment_expression "iVar20 = iVar18" identifier = identifier) ;) })) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (if_statement "if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }" if (parenthesized_expression "(uVar25 < (uint)auStack_188._4_4_)" ( (binary_expression "uVar25 < (uint)auStack_188._4_4_" identifier < (cast_expression "(uint)auStack_188._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_188._4_4_" identifier . field_identifier))) )) (compound_statement "{\n            auStack_188._4_4_ = uVar25;\n          }" { (expression_statement "auStack_188._4_4_ = uVar25;" (assignment_expression "auStack_188._4_4_ = uVar25" (field_expression "auStack_188._4_4_" identifier . field_identifier) = identifier) ;) })) }) while (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)iVar18)" ( (binary_expression "pEVar50 != (Elf32_Ehdr *)iVar18" identifier != (cast_expression "(Elf32_Ehdr *)iVar18" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) (expression_statement "pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;" (assignment_expression "pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f" identifier = (binary_expression "EStack_108.e_ident_pad + iVar20 * 4 + 0x1f" (binary_expression "EStack_108.e_ident_pad + iVar20 * 4" (field_expression "EStack_108.e_ident_pad" identifier . field_identifier) + (binary_expression "iVar20 * 4" identifier * number_literal)) + number_literal)) ;) (expression_statement "pbVar34[0] = 0xff;" (assignment_expression "pbVar34[0] = 0xff" (subscript_expression "pbVar34[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar34[1] = 0xff;" (assignment_expression "pbVar34[1] = 0xff" (subscript_expression "pbVar34[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar34[2] = 0xff;" (assignment_expression "pbVar34[2] = 0xff" (subscript_expression "pbVar34[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar34[3] = 0xff;" (assignment_expression "pbVar34[3] = 0xff" (subscript_expression "pbVar34[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }" if (parenthesized_expression "(iVar20 != iVar44)" ( (binary_expression "iVar20 != iVar44" identifier != identifier) )) (compound_statement "{\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }" { (if_statement "if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }" if (parenthesized_expression "(iVar44 < iVar20)" ( (binary_expression "iVar44 < iVar20" identifier < identifier) )) (compound_statement "{\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }" { (expression_statement "iVar35 = *(int *)&pEVar7->e_phnum;" (assignment_expression "iVar35 = *(int *)&pEVar7->e_phnum" identifier = (pointer_expression "*(int *)&pEVar7->e_phnum" * (cast_expression "(int *)&pEVar7->e_phnum" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar7->e_phnum" & (field_expression "pEVar7->e_phnum" identifier -> field_identifier))))) ;) (expression_statement "iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);" (assignment_expression "iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" identifier = (pointer_expression "*(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" * (cast_expression "(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" ( (binary_expression "*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48" (pointer_expression "*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4)" * (cast_expression "(int *)(auStack_144 + (iVar20 + -1) * 4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144 + (iVar20 + -1) * 4 + 4)" ( (binary_expression "auStack_144 + (iVar20 + -1) * 4 + 4" (binary_expression "auStack_144 + (iVar20 + -1) * 4" identifier + (binary_expression "(iVar20 + -1) * 4" (parenthesized_expression "(iVar20 + -1)" ( (binary_expression "iVar20 + -1" identifier + number_literal) )) * number_literal)) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined2 *)(iVar18 + 0x1c) = 0;" (assignment_expression "*(undefined2 *)(iVar18 + 0x1c) = 0" (pointer_expression "*(undefined2 *)(iVar18 + 0x1c)" * (cast_expression "(undefined2 *)(iVar18 + 0x1c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x1c)" ( (binary_expression "iVar18 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);" (call_expression "(*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35)" (parenthesized_expression "(*(code *)(iVar10 + -0x2370))" ( (pointer_expression "*(code *)(iVar10 + -0x2370)" * (cast_expression "(code *)(iVar10 + -0x2370)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x2370)" ( (binary_expression "iVar10 + -0x2370" identifier + number_literal) )))) )) (argument_list "(iVar18,iVar20 + 1 + iVar35)" ( identifier , (binary_expression "iVar20 + 1 + iVar35" (binary_expression "iVar20 + 1" identifier + number_literal) + identifier) ))) ;) })) (goto_statement "goto LAB_000a51ec;" goto statement_identifier ;) })) }))) (expression_statement "iVar44 = iVar44 + 1;" (assignment_expression "iVar44 = iVar44 + 1" identifier = (binary_expression "iVar44 + 1" identifier + number_literal)) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "uVar25 = auStack_188._4_4_;" (assignment_expression "uVar25 = auStack_188._4_4_" identifier = (field_expression "auStack_188._4_4_" identifier . field_identifier)) ;) (if_statement "if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }" if (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)iVar44)" ( (binary_expression "pEVar50 == (Elf32_Ehdr *)iVar44" identifier == (cast_expression "(Elf32_Ehdr *)iVar44" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }" { (labeled_statement "LAB_000a5230:\n        auStack_188._4_4_ = uVar25;" statement_identifier : (expression_statement "auStack_188._4_4_ = uVar25;" (assignment_expression "auStack_188._4_4_ = uVar25" (field_expression "auStack_188._4_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);" (assignment_expression "iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4)" identifier = (pointer_expression "*(int *)(auStack_144 + (int)pEVar42 * 4)" * (cast_expression "(int *)(auStack_144 + (int)pEVar42 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144 + (int)pEVar42 * 4)" ( (binary_expression "auStack_144 + (int)pEVar42 * 4" identifier + (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar10 + 4);" (assignment_expression "uVar13 = *(undefined4 *)(iVar10 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 4)" * (cast_expression "(undefined4 *)(iVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) ))))) ;) (expression_statement "pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;" (assignment_expression "pEStack_1c8->e_ident_magic_str[2] = (char)uVar13" (subscript_expression "pEStack_1c8->e_ident_magic_str[2]" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)uVar13" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);" (assignment_expression "pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18)" (field_expression "pEStack_1c8->e_ident_magic_num" identifier -> field_identifier) = (call_expression "(byte)((uint)uVar13 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)uVar13 >> 0x18)" ( (binary_expression "(uint)uVar13 >> 0x18" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);" (assignment_expression "pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10)" (subscript_expression "pEStack_1c8->e_ident_magic_str[0]" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)uVar13 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar13 >> 0x10)" ( (binary_expression "(uint)uVar13 >> 0x10" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);" (assignment_expression "pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8)" (subscript_expression "pEStack_1c8->e_ident_magic_str[1]" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)uVar13 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar13 >> 8)" ( (binary_expression "(uint)uVar13 >> 8" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }" if (parenthesized_expression "(((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc))" ( (binary_expression "((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)" (parenthesized_expression "((bVar22 & 8) == 0)" ( (binary_expression "(bVar22 & 8) == 0" (parenthesized_expression "(bVar22 & 8)" ( (binary_expression "bVar22 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)pcStack_1bc)" ( (binary_expression "pEVar50 != (Elf32_Ehdr *)pcStack_1bc" identifier != (cast_expression "(Elf32_Ehdr *)pcStack_1bc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }" { (expression_statement "puVar17 = auStack_14c + 4;" (assignment_expression "puVar17 = auStack_14c + 4" identifier = (binary_expression "auStack_14c + 4" identifier + number_literal)) ;) (if_statement "if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }" if (parenthesized_expression "((int)pEVar50 <= (int)pcStack_1bc)" ( (binary_expression "(int)pEVar50 <= (int)pcStack_1bc" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            puVar17 = auStack_154;\n          }" { (expression_statement "puVar17 = auStack_154;" (assignment_expression "puVar17 = auStack_154" identifier = identifier) ;) })) (expression_statement "iVar10 = *(int *)(iVar10 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x38)" identifier = (pointer_expression "*(int *)(iVar10 + 0x38)" * (cast_expression "(int *)(iVar10 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);" (assignment_expression "uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" identifier = (pointer_expression "*(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" * (cast_expression "(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" ( (binary_expression "*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8" (pointer_expression "*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" * (cast_expression "(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" ( (binary_expression "*(int *)(puVar17 + iStack_1d0 + 4) + 0x38" (pointer_expression "*(int *)(puVar17 + iStack_1d0 + 4)" * (cast_expression "(int *)(puVar17 + iStack_1d0 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iStack_1d0 + 4)" ( (binary_expression "puVar17 + iStack_1d0 + 4" (binary_expression "puVar17 + iStack_1d0" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar25 = iVar10 + 8;" (assignment_expression "uVar25 = iVar10 + 8" identifier = (binary_expression "iVar10 + 8" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;" (assignment_expression "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "-1 << (4 - uVar23) * 8" number_literal << (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" ( (binary_expression "4 - uVar23" number_literal - identifier) )) * number_literal))) | (binary_expression "uVar32 >> uVar23 * 8" identifier >> (binary_expression "uVar23 * 8" identifier * number_literal)))) ;) (expression_statement "uVar25 = iVar10 + 0xb;" (assignment_expression "uVar25 = iVar10 + 0xb" identifier = (binary_expression "iVar10 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;" (assignment_expression "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "0xffffffffU >> (uVar23 + 1) * 8" number_literal >> (binary_expression "(uVar23 + 1) * 8" (parenthesized_expression "(uVar23 + 1)" ( (binary_expression "uVar23 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar32 << (3 - uVar23) * 8" identifier << (binary_expression "(3 - uVar23) * 8" (parenthesized_expression "(3 - uVar23)" ( (binary_expression "3 - uVar23" number_literal - identifier) )) * number_literal)))) ;) })) (expression_statement "pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (if_statement "if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;" if (parenthesized_expression "((char)pEVar7->e_type == '\0')" ( (binary_expression "(char)pEVar7->e_type == '\0'" (cast_expression "(char)pEVar7->e_type" ( (type_descriptor "char" primitive_type) ) (field_expression "pEVar7->e_type" identifier -> field_identifier)) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags" identifier = (cast_expression "(Elf32_Ehdr *)pEVar7->e_flags" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar7->e_flags" identifier -> field_identifier))) ;) (expression_statement "pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;" (assignment_expression "pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" * (cast_expression "(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" & (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" identifier = (cast_expression "(Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" ( (binary_expression "(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]" (binary_expression "(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) * (cast_expression "(dword *)(auStack_144._0_4_ + 0x14)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x14)" ( (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) )))) + (subscript_expression "(uint)((byte *)(auStack_144._0_4_ + 9))[3]" (call_expression "(uint)((byte *)(auStack_144._0_4_ + 9))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte *)(auStack_144._0_4_ + 9))" ( (cast_expression "(byte *)(auStack_144._0_4_ + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 9)" ( (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) ))) [ number_literal ])) )))) ;) (if_statement "if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;" if (parenthesized_expression "((int)auStack_cc._0_4_ < 1)" ( (binary_expression "(int)auStack_cc._0_4_ < 1" (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)) < number_literal) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_3 = (Elf32_Ehdr *)0x0;" (assignment_expression "param_3 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);" (assignment_expression "pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" identifier = (cast_expression "(byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" ( (binary_expression "*(int *)(puVar53 + 0xb75e4) + 0x22e0" (pointer_expression "*(int *)(puVar53 + 0xb75e4)" * (cast_expression "(int *)(puVar53 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (expression_statement "param_1 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "param_1 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (expression_statement "param_6 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "param_6 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (expression_statement "pEStack_1b0 = pEVar42;" (assignment_expression "pEStack_1b0 = pEVar42" identifier = identifier) ;) (goto_statement "goto LAB_000a53dc;" goto statement_identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1)" identifier = (cast_expression "(Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + iVar10 + -1" (binary_expression "EStack_108.e_ident_magic_str + iVar10" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + identifier) + number_literal) )))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1e8 = pEStack_1c4;" (assignment_expression "pEStack_1e8 = pEStack_1c4" identifier = identifier) ;) (expression_statement "pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" identifier = (pointer_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" * (cast_expression "(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + iVar10 + -1" (binary_expression "EStack_108.e_ident_magic_str + iVar10" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + identifier) + number_literal) ))))) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10 + -1" (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10" (field_expression "pEStack_1a8->e_ident_magic_str" identifier -> field_identifier) + identifier) + number_literal) )))) ;) (do_statement "do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);" do (compound_statement "{\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  }" { (expression_statement "pEStack_1d4 = pEVar51;" (assignment_expression "pEStack_1d4 = pEVar51" identifier = identifier) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEStack_1e8[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEStack_1e8[-1].e_shstrndx + 1" (cast_expression "(int)&pEStack_1e8[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEStack_1e8[-1].e_shstrndx" & (field_expression "pEStack_1e8[-1].e_shstrndx" (subscript_expression "pEStack_1e8[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;" (assignment_expression "pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" identifier = (pointer_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1ec[-1].e_shnum" & (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);" (assignment_expression "pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" identifier = (cast_expression "(Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" ( (binary_expression "(*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2" (parenthesized_expression "(*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4)" ( (binary_expression "*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4" (pointer_expression "*(int *)&pEStack_1d4[-1].e_shnum" * (cast_expression "(int *)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) - (cast_expression "(int)pcStack_1e4" ( (type_descriptor "int" primitive_type) ) identifier)) )) * number_literal) )))) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pEStack_1d4[-1].e_shnum + -1)" ( (binary_expression "*(int *)&pEStack_1d4[-1].e_shnum + -1" (pointer_expression "*(int *)&pEStack_1d4[-1].e_shnum" * (cast_expression "(int *)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) + number_literal) )))) ;) (if_statement "if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }" if (parenthesized_expression "(*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0)" ( (binary_expression "*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0" (pointer_expression "*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" * (cast_expression "(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) == number_literal) )) (compound_statement "{\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }" { (expression_statement "(*(code *)pEStack_1f0)(auStack_cc);" (call_expression "(*(code *)pEStack_1f0)(auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1f0)" ( (pointer_expression "*(code *)pEStack_1f0" * (cast_expression "(code *)pEStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc)" ( identifier ))) ;) })) (do_statement "do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);" do (compound_statement "{\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    }" { (expression_statement "pEVar54 = pEVar51;" (assignment_expression "pEVar54 = pEVar51" identifier = identifier) ;) (if_statement "if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }" if (parenthesized_expression "(*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0)" ( (binary_expression "*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0" (pointer_expression "*(short *)(aiStack_c0[0] + (int)pEVar54 * 2)" * (cast_expression "(short *)(aiStack_c0[0] + (int)pEVar54 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar54 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar54 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar54 * 2" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) == number_literal) )) (compound_statement "{\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }" { (expression_statement "(*(code *)pEStack_1f0)(auStack_cc,pEVar54);" (call_expression "(*(code *)pEStack_1f0)(auStack_cc,pEVar54)" (parenthesized_expression "(*(code *)pEStack_1f0)" ( (pointer_expression "*(code *)pEStack_1f0" * (cast_expression "(code *)pEStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc,pEVar54)" ( identifier , identifier ))) ;) })) (if_statement "if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }" if (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar50 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }" { (expression_statement "pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;" (assignment_expression "pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" identifier = (pointer_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier))))) ;) (break_statement "break;" break ;) })) (expression_statement "uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);" (assignment_expression "uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" identifier = (pointer_expression "*(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" * (cast_expression "(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar54 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar54 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar54 * 2" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" identifier = (cast_expression "(Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" ( (binary_expression "*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2" (pointer_expression "*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" * (cast_expression "(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;" (assignment_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54" (pointer_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar54[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar54[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar54[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar54[-1].e_shstrndx" & (field_expression "pEVar54[-1].e_shstrndx" (subscript_expression "pEVar54[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2))" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar49 - (uVar3 + 2))" ( (binary_expression "(int)pEVar49 - (uVar3 + 2)" (cast_expression "(int)pEVar49" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(uVar3 + 2)" ( (binary_expression "uVar3 + 2" identifier + number_literal) ))) )))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar48[-1].e_shstrndx" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier)))) ;) }) while (parenthesized_expression "(-1 < (int)pEVar51)" ( (binary_expression "-1 < (int)pEVar51" number_literal < (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "*(Elf32_Ehdr **)pEStack_1ec = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEStack_1ec = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEStack_1ec" * (cast_expression "(Elf32_Ehdr **)pEStack_1ec" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;" (assignment_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49" (pointer_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1ec[-1].e_shnum" & (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "pEStack_1b0 = pEVar47;" (assignment_expression "pEStack_1b0 = pEVar47" identifier = identifier) ;) (if_statement "if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }" if (parenthesized_expression "(pEStack_1e8 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1e8 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }" { (expression_statement "bVar4 = 0 < (int)pEVar54;" (assignment_expression "bVar4 = 0 < (int)pEVar54" identifier = (binary_expression "0 < (int)pEVar54" number_literal < (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pEVar48 = pEVar47;" (assignment_expression "pEVar48 = pEVar47" identifier = identifier) ;) (expression_statement "pEVar50 = pEVar54;" (assignment_expression "pEVar50 = pEVar54" identifier = identifier) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if (bVar4) goto LAB_000a4ef4;" if (parenthesized_expression "(bVar4)" ( identifier )) (goto_statement "goto LAB_000a4ef4;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum" identifier = (cast_expression "(Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1ec[-1].e_shnum" & (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum" identifier = (cast_expression "(Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;" (assignment_expression "iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum" (field_expression "iVar18._0_2_" identifier . field_identifier) = (field_expression "pEStack_1d4[-0xffffffff00000001].e_phnum" (subscript_expression "pEStack_1d4[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;" (assignment_expression "iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize" (field_expression "iVar18._2_2_" identifier . field_identifier) = (field_expression "pEStack_1d4[-0xffffffff00000001].e_shentsize" (subscript_expression "pEStack_1d4[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pEVar50 = pEVar49;" (assignment_expression "pEVar50 = pEVar49" identifier = identifier) ;) }) while (parenthesized_expression "(iVar18 < (int)pEVar54)" ( (binary_expression "iVar18 < (int)pEVar54" identifier < (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "uVar13 = 0x114c2;" (assignment_expression "uVar13 = 0x114c2" identifier = number_literal) ;) (labeled_statement "LAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);" statement_identifier : (expression_statement "auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);" (assignment_expression "auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar13)" ( identifier )))) ;)) (expression_statement "pEVar47 = pEVar48;" (assignment_expression "pEVar47 = pEVar48" identifier = identifier) ;) (labeled_statement "LAB_000a443c:\n  param_2 = pEVar50;" statement_identifier : (expression_statement "param_2 = pEVar50;" (assignment_expression "param_2 = pEVar50" identifier = identifier) ;)) (expression_statement "pEVar26 = pEVar51;" (assignment_expression "pEVar26 = pEVar51" identifier = identifier) ;) (expression_statement "pEVar7 = pEVar54;" (assignment_expression "pEVar7 = pEVar54" identifier = identifier) ;) (if_statement "if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }" if (parenthesized_expression "(iStack_c4 != 0)" ( (binary_expression "iStack_c4 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar53 + 0xb7500))();\n  }" { (expression_statement "(**(code **)(puVar53 + 0xb7500))();" (call_expression "(**(code **)(puVar53 + 0xb7500))()" (parenthesized_expression "(**(code **)(puVar53 + 0xb7500))" ( (pointer_expression "**(code **)(puVar53 + 0xb7500)" * (pointer_expression "*(code **)(puVar53 + 0xb7500)" * (cast_expression "(code **)(puVar53 + 0xb7500)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7500)" ( (binary_expression "puVar53 + 0xb7500" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);" statement_identifier : (expression_statement "param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);" (assignment_expression "param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0)" identifier = (cast_expression "(Elf32_Ehdr *)(auStack_14c + iStack_1d0)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_14c + iStack_1d0)" ( (binary_expression "auStack_14c + iStack_1d0" identifier + identifier) )))) ;)) (expression_statement "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);" (assignment_expression "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_1 = (Elf32_Ehdr *)ppEStack_1dc;" (assignment_expression "param_1 = (Elf32_Ehdr *)ppEStack_1dc" identifier = (cast_expression "(Elf32_Ehdr *)ppEStack_1dc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);" do (compound_statement "{\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  }" { (if_statement "if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }" if (parenthesized_expression "(*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0)" ( (binary_expression "*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0" (pointer_expression "*(Elf32_Ehdr **)param_1" * (cast_expression "(Elf32_Ehdr **)param_1" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }" { (expression_statement "(*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);" (call_expression "(*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version)" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((*(Elf32_Ehdr **)param_1)[1].e_version)" ( (field_expression "(*(Elf32_Ehdr **)param_1)[1].e_version" (subscript_expression "(*(Elf32_Ehdr **)param_1)[1]" (parenthesized_expression "(*(Elf32_Ehdr **)param_1)" ( (pointer_expression "*(Elf32_Ehdr **)param_1" * (cast_expression "(Elf32_Ehdr **)param_1" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) [ number_literal ]) . field_identifier) ))) ;) })) (expression_statement "param_1 = (Elf32_Ehdr *)((int)param_1 + 4);" (assignment_expression "param_1 = (Elf32_Ehdr *)((int)param_1 + 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)param_1 + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(param_1 != param_6)" ( (binary_expression "param_1 != param_6" identifier != identifier) )) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier))) ;) (if_statement "if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }" if (parenthesized_expression "(unaff_s7 != (Elf32_Ehdr *)0x0)" ( (binary_expression "unaff_s7 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }" { (expression_statement "param_1 = (Elf32_Ehdr *)auStack_144;" (assignment_expression "param_1 = (Elf32_Ehdr *)auStack_144" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);" (assignment_expression "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);" (assignment_expression "param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + unaff_s7 * 4)" ( (binary_expression "(int)param_1 + unaff_s7 * 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "unaff_s7 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);" do (compound_statement "{\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    }" { (if_statement "if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }" if (parenthesized_expression "(*(int *)param_1 != 0)" ( (binary_expression "*(int *)param_1 != 0" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }" { (expression_statement "(*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));" (call_expression "(*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48))" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*(int *)param_1 + 0x48))" ( (pointer_expression "*(undefined4 *)(*(int *)param_1 + 0x48)" * (cast_expression "(undefined4 *)(*(int *)param_1 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 0x48)" ( (binary_expression "*(int *)param_1 + 0x48" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) })) (expression_statement "param_1 = (Elf32_Ehdr *)((int)param_1 + 4);" (assignment_expression "param_1 = (Elf32_Ehdr *)((int)param_1 + 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)param_1 + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier))) ;) }) while (parenthesized_expression "(param_6 != param_1)" ( (binary_expression "param_6 != param_1" identifier != identifier) )) ;) })) (labeled_statement "LAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }" statement_identifier : (if_statement "if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }" if (parenthesized_expression "(iStack_84 == *piVar9)" ( (binary_expression "iStack_84 == *piVar9" identifier == (pointer_expression "*piVar9" * identifier)) )) (compound_statement "{\n    return pEVar48;\n  }" { (return_statement "return pEVar48;" return identifier ;) }))) (expression_statement "iVar10 = iStack_84;" (assignment_expression "iVar10 = iStack_84" identifier = identifier) ;) (expression_statement "(**(code **)(puVar53 + 0xb78f0))();" (call_expression "(**(code **)(puVar53 + 0xb78f0))()" (parenthesized_expression "(**(code **)(puVar53 + 0xb78f0))" ( (pointer_expression "**(code **)(puVar53 + 0xb78f0)" * (pointer_expression "*(code **)(puVar53 + 0xb78f0)" * (cast_expression "(code **)(puVar53 + 0xb78f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb78f0)" ( (binary_expression "puVar53 + 0xb78f0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pEVar48 = extraout_v1;" (assignment_expression "pEVar48 = extraout_v1" identifier = identifier) ;) (expression_statement "pEVar50 = param_2;" (assignment_expression "pEVar50 = param_2" identifier = identifier) ;) (expression_statement "param_2 = unaff_s7;" (assignment_expression "param_2 = unaff_s7" identifier = identifier) ;) (do_statement "do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );" do (compound_statement "{\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  }" { (if_statement "if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;" if (parenthesized_expression "((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))" ( (binary_expression "(pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)))" (parenthesized_expression "(pEVar48 <= pEVar49)" ( (binary_expression "pEVar48 <= pEVar49" identifier <= identifier) )) && (parenthesized_expression "(pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)))" ( (binary_expression "pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" identifier < (cast_expression "(Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" ( (binary_expression "pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)" (field_expression "pEStack_1c4->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar48->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + -2)" ( (binary_expression "pEVar48->e_ident_magic_str + -2" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ))) )) (goto_statement "goto LAB_000a53d0;" goto statement_identifier ;)) (do_statement "do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));" do (compound_statement "{\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    }" { (if_statement "if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }" if (parenthesized_expression "(puStack_1e0 == (undefined1 *)0x0)" ( (binary_expression "puStack_1e0 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }" { (expression_statement "uVar31._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar31._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar31._0_1_" identifier . field_identifier) = (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "uVar31._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar31._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar31._1_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar31._2_1_ = pEVar49->e_ident_magic_str[1];" (assignment_expression "uVar31._2_1_ = pEVar49->e_ident_magic_str[1]" (field_expression "uVar31._2_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[1]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar31._3_1_ = pEVar49->e_ident_magic_str[2];" (assignment_expression "uVar31._3_1_ = pEVar49->e_ident_magic_str[2]" (field_expression "uVar31._3_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[2]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar36._0_1_ = param_6->e_ident_class;" (assignment_expression "uVar36._0_1_ = param_6->e_ident_class" (field_expression "uVar36._0_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_class" identifier -> field_identifier)) ;) (expression_statement "uVar36._1_1_ = param_6->e_ident_data;" (assignment_expression "uVar36._1_1_ = param_6->e_ident_data" (field_expression "uVar36._1_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_data" identifier -> field_identifier)) ;) (expression_statement "uVar36._2_1_ = param_6->e_ident_version;" (assignment_expression "uVar36._2_1_ = param_6->e_ident_version" (field_expression "uVar36._2_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_version" identifier -> field_identifier)) ;) (expression_statement "uVar36._3_1_ = param_6->e_ident_osabi;" (assignment_expression "uVar36._3_1_ = param_6->e_ident_osabi" (field_expression "uVar36._3_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_osabi" identifier -> field_identifier)) ;) (expression_statement "FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);" (call_expression "FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188)" identifier (argument_list "(pEVar7,uVar31,5,uVar36,auStack_188)" ( identifier , identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar47 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar47 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar47 * 2" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }" { (expression_statement "uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);" (assignment_expression "uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47)" identifier = (call_expression "(*(code *)pEStack_1b8)(auStack_cc,pEVar47)" (parenthesized_expression "(*(code *)pEStack_1b8)" ( (pointer_expression "*(code *)pEStack_1b8" * (cast_expression "(code *)pEStack_1b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc,pEVar47)" ( identifier , identifier )))) ;) })) (if_statement "if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }" if (parenthesized_expression "(param_6->e_type < uVar25)" ( (binary_expression "param_6->e_type < uVar25" (field_expression "param_6->e_type" identifier -> field_identifier) < identifier) )) (compound_statement "{\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }" { (expression_statement "(*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);" (call_expression "(*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188)" (parenthesized_expression "(*(code *)pbStack_1c0)" ( (pointer_expression "*(code *)pbStack_1c0" * (cast_expression "(code *)pbStack_1c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188)" ( identifier , (pointer_expression "&param_1[1].e_ident_abiversion" & (field_expression "param_1[1].e_ident_abiversion" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier)) , identifier , identifier ))) ;) })) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (labeled_statement "LAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);" statement_identifier : (do_statement "do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);" do (compound_statement "{\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      }" { (expression_statement "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar47->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar42 = pEStack_1b0;" (assignment_expression "pEVar42 = pEStack_1b0" identifier = identifier) ;) (if_statement "if (iVar10 <= (int)pEVar47) goto LAB_000a5474;" if (parenthesized_expression "(iVar10 <= (int)pEVar47)" ( (binary_expression "iVar10 <= (int)pEVar47" identifier <= (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (labeled_statement "LAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);" statement_identifier : (expression_statement "pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);" (assignment_expression "pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" * (cast_expression "(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + (int)pEVar47 * 4)" ( (binary_expression "iStack_c4 + (int)pEVar47 * 4" identifier + (binary_expression "(int)pEVar47 * 4" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;)) (if_statement "if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }" if (parenthesized_expression "(pEVar47 == pEStack_1f0)" ( (binary_expression "pEVar47 == pEStack_1f0" identifier == identifier) )) (compound_statement "{\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }" { (expression_statement "param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;" (assignment_expression "param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)param_3->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "param_3->e_ident_magic_str" identifier -> field_identifier))) ;) (if_statement "if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" if (parenthesized_expression "((int)param_3 < (int)pEVar50)" ( (binary_expression "(int)param_3 < (int)pEVar50" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }" { (expression_statement "param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);" (assignment_expression "param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" ( (binary_expression "auStack_144 + (int)((int)param_3 + -1) * 4 + 4" (binary_expression "auStack_144 + (int)((int)param_3 + -1) * 4" identifier + (binary_expression "(int)((int)param_3 + -1) * 4" (cast_expression "(int)((int)param_3 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)param_3 + -1)" ( (binary_expression "(int)param_3 + -1" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" else (compound_statement "{\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" { (expression_statement "param_1 = (&pEStack_150)[(int)param_3];" (assignment_expression "param_1 = (&pEStack_150)[(int)param_3]" identifier = (subscript_expression "(&pEStack_150)[(int)param_3]" (parenthesized_expression "(&pEStack_150)" ( (pointer_expression "&pEStack_150" & identifier) )) [ (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) }))) (expression_statement "pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;" (assignment_expression "pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&param_1[1].e_ident_class" * (cast_expression "(Elf32_Ehdr **)&param_1[1].e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&param_1[1].e_ident_class" & (field_expression "param_1[1].e_ident_class" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" identifier = (cast_expression "(Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" ( (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0)" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3]" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version" (field_expression "pEStack_1f0->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(uint)(ushort)param_1->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)param_1->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "param_1->e_version" identifier -> field_identifier)))) + (cast_expression "(uint)param_1->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) + (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) + number_literal) )))) ;) })) (if_statement "if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;" if (parenthesized_expression "(*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47)" ( (binary_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47" (pointer_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8)" * (cast_expression "(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_130 + (int)pEStack_1c8)" ( (binary_expression "auStack_130 + (int)pEStack_1c8" identifier + (cast_expression "(int)pEStack_1c8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) != identifier) )) (break_statement "break;" break ;)) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEStack_1d4->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_1d4 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1d4 * 4)" ( (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);" (assignment_expression "param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_144 + (int)pEStack_1d4 * 4)" ( (binary_expression "auStack_144 + (int)pEStack_1d4 * 4" identifier + (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) }) while (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) }) while (parenthesized_expression "(((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)))" ( (binary_expression "((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb))" (parenthesized_expression "((int)pEVar50 <= (int)param_3)" ( (binary_expression "(int)pEVar50 <= (int)param_3" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb))" ( (comma_expression "iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._0_1_ = param_6->e_ident_class" (field_expression "iVar35._0_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_class" identifier -> field_identifier)) , (comma_expression "iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._1_1_ = param_6->e_ident_data" (field_expression "iVar35._1_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_data" identifier -> field_identifier)) , (comma_expression "iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._2_1_ = param_6->e_ident_version" (field_expression "iVar35._2_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_version" identifier -> field_identifier)) , (comma_expression "iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._3_1_ = param_6->e_ident_osabi" (field_expression "iVar35._3_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_osabi" identifier -> field_identifier)) , (comma_expression "pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "pEVar48 = pEStack_1e8" identifier = identifier) , (binary_expression "iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" identifier != (pointer_expression "*(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" * (cast_expression "(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" ( (binary_expression "EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb" (binary_expression "EStack_108.e_ident_pad + (int)param_3 * 4" (field_expression "EStack_108.e_ident_pad" identifier . field_identifier) + (binary_expression "(int)param_3 * 4" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))))))))) ))) )) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_000a46e0:\n  uVar13 = 0x11403;" statement_identifier : (expression_statement "uVar13 = 0x11403;" (assignment_expression "uVar13 = 0x11403" identifier = number_literal) ;)) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1f0 = &EStack_108;" (assignment_expression "pEStack_1f0 = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "pEStack_1e8 = pEVar7;" (assignment_expression "pEStack_1e8 = pEVar7" identifier = identifier) ;) (expression_statement "pEStack_1d4 = pEVar26;" (assignment_expression "pEStack_1d4 = pEVar26" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) (labeled_statement "LAB_000a5474:\n  unaff_s7 = pEVar50;" statement_identifier : (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" identifier = identifier) ;)) (if_statement "if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }" if (parenthesized_expression "(pEVar42 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar42 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }" { (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" ( (binary_expression "pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2)" (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEStack_54->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEStack_54->e_ident_magic_str + -2)" ( (binary_expression "pEStack_54->e_ident_magic_str + -2" (field_expression "pEStack_54->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_188;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_188" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb75e4);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb75e4)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb75e4)" * (cast_expression "(int *)(puVar53 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) ))))) ;) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75b8) + 0x54)" ( (binary_expression "*(int *)(puVar53 + 0xb75b8) + 0x54" (pointer_expression "*(int *)(puVar53 + 0xb75b8)" * (cast_expression "(int *)(puVar53 + 0xb75b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75b8)" ( (binary_expression "puVar53 + 0xb75b8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar48 = pEStack_54;" (assignment_expression "pEVar48 = pEStack_54" identifier = identifier) ;) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" identifier = identifier) ;) (do_statement "do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);" do (compound_statement "{\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    }" { (expression_statement "pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );" (assignment_expression "pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" identifier = (cast_expression "(byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" ( (binary_expression "pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)" (field_expression "pEStack_1f0->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEStack_1d8->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + -2)" ( (binary_expression "pEStack_1d8->e_ident_magic_str + -2" (field_expression "pEStack_1d8->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "pEVar47 = *(Elf32_Ehdr **)pEVar49;" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)pEVar49" identifier = (pointer_expression "*(Elf32_Ehdr **)pEVar49" * (cast_expression "(Elf32_Ehdr **)pEVar49" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);" (assignment_expression "puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4)" identifier = (cast_expression "(undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_c4 + *(int *)pEStack_1a8 * 4)" ( (binary_expression "iStack_c4 + *(int *)pEStack_1a8 * 4" identifier + (binary_expression "*(int *)pEStack_1a8 * 4" (pointer_expression "*(int *)pEStack_1a8" * (cast_expression "(int *)pEStack_1a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) )))) ;) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" ( (binary_expression "aiStack_c0[0] + *(int *)pEStack_1a8 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "*(int *)pEStack_1a8 * 2" (pointer_expression "*(int *)pEStack_1a8" * (cast_expression "(int *)pEStack_1a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) ))))) ;) (expression_statement "pbVar34 = (byte *)*puVar29;" (assignment_expression "pbVar34 = (byte *)*puVar29" identifier = (cast_expression "(byte *)*puVar29" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar29" * identifier))) ;) (expression_statement "puVar17 = puStack_1e0 + uVar25;" (assignment_expression "puVar17 = puStack_1e0 + uVar25" identifier = (binary_expression "puStack_1e0 + uVar25" identifier + identifier)) ;) (if_statement "if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" if (parenthesized_expression "(pEVar47->e_ident_abiversion == 0)" ( (binary_expression "pEVar47->e_ident_abiversion == 0" (field_expression "pEVar47->e_ident_abiversion" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }" { (expression_statement "uVar32 = *(uint *)pbVar34;" (assignment_expression "uVar32 = *(uint *)pbVar34" identifier = (pointer_expression "*(uint *)pbVar34" * (cast_expression "(uint *)pbVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar44 = *(int *)&pEVar47[1].e_ident_class;" (assignment_expression "iVar44 = *(int *)&pEVar47[1].e_ident_class" identifier = (pointer_expression "*(int *)&pEVar47[1].e_ident_class" * (cast_expression "(int *)&pEVar47[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47[1].e_ident_class" & (field_expression "pEVar47[1].e_ident_class" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar25 = iVar44 + 8;" (assignment_expression "uVar25 = iVar44 + 8" identifier = (binary_expression "iVar44 + 8" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;" (assignment_expression "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "-1 << (4 - uVar23) * 8" number_literal << (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" ( (binary_expression "4 - uVar23" number_literal - identifier) )) * number_literal))) | (binary_expression "uVar32 >> uVar23 * 8" identifier >> (binary_expression "uVar23 * 8" identifier * number_literal)))) ;) (expression_statement "uVar25 = iVar44 + 0xb;" (assignment_expression "uVar25 = iVar44 + 0xb" identifier = (binary_expression "iVar44 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;" (assignment_expression "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "0xffffffffU >> (uVar23 + 1) * 8" number_literal >> (binary_expression "(uVar23 + 1) * 8" (parenthesized_expression "(uVar23 + 1)" ( (binary_expression "uVar23 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar32 << (3 - uVar23) * 8" identifier << (binary_expression "(3 - uVar23) * 8" (parenthesized_expression "(3 - uVar23)" ( (binary_expression "3 - uVar23" number_literal - identifier) )) * number_literal)))) ;) }) (else_clause "else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" else (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }" { (expression_statement "pbVar34 = pbVar34 + -4;" (assignment_expression "pbVar34 = pbVar34 + -4" identifier = (binary_expression "pbVar34 + -4" identifier + number_literal)) ;) (if_statement "if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }" if (parenthesized_expression "(uVar25 == 4)" ( (binary_expression "uVar25 == 4" identifier == number_literal) )) (compound_statement "{\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }" { (expression_statement "puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);" (assignment_expression "puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" identifier = (cast_expression "(undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" (parenthesized_expression "(*(code *)pEVar26[1].e_entry)" ( (pointer_expression "*(code *)pEVar26[1].e_entry" * (cast_expression "(code *)pEVar26[1].e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar26[1].e_entry" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(pEVar26,pbVar34)" ( identifier , identifier ))))) ;) (expression_statement "pbStack_1c0 = pbVar34;" (assignment_expression "pbStack_1c0 = pbVar34" identifier = identifier) ;) })) }) (else_clause "else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" else (compound_statement "{\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" { (expression_statement "(*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);" (call_expression "(*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180)" (parenthesized_expression "(*(code *)pEVar47[1].e_phoff)" ( (pointer_expression "*(code *)pEVar47[1].e_phoff" * (cast_expression "(code *)pEVar47[1].e_phoff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47[1].e_phoff" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(pEVar47,puVar29[-1],auStack_180)" ( identifier , (subscript_expression "puVar29[-1]" identifier [ number_literal ]) , identifier ))) ;) (if_statement "if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" if (parenthesized_expression "(((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80))" ( (binary_expression "((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)" (parenthesized_expression "((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_180._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_180._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((uint)auStack_180._4_4_ < 0x80)" ( (binary_expression "(uint)auStack_180._4_4_ < 0x80" (cast_expression "(uint)auStack_180._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_180._4_4_" identifier . field_identifier)) < number_literal) ))) )) (compound_statement "{\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }" { (expression_statement "pbVar37[4] = (byte)auStack_180._4_4_;" (assignment_expression "pbVar37[4] = (byte)auStack_180._4_4_" (subscript_expression "pbVar37[4]" identifier [ number_literal ]) = (cast_expression "(byte)auStack_180._4_4_" ( (type_descriptor "byte" type_identifier) ) (field_expression "auStack_180._4_4_" identifier . field_identifier))) ;) (expression_statement "iVar44 = 1;" (assignment_expression "iVar44 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" else (compound_statement "{\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" { (expression_statement "iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);" (assignment_expression "iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4)" identifier = (call_expression "(*(code *)pEStack_1c4)(pbVar37 + 4)" (parenthesized_expression "(*(code *)pEStack_1c4)" ( (pointer_expression "*(code *)pEStack_1c4" * (cast_expression "(code *)pEStack_1c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar37 + 4)" ( (binary_expression "pbVar37 + 4" identifier + number_literal) )))) ;) }))) (expression_statement "puVar17 = (undefined1 *)(iVar44 + 4);" (assignment_expression "puVar17 = (undefined1 *)(iVar44 + 4)" identifier = (cast_expression "(undefined1 *)(iVar44 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 4)" ( (binary_expression "iVar44 + 4" identifier + number_literal) )))) ;) (expression_statement "pbVar34 = pbVar37;" (assignment_expression "pbVar34 = pbVar37" identifier = identifier) ;) (expression_statement "pbVar37 = (byte *)0x0;" (assignment_expression "pbVar37 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))) (expression_statement "uVar38._0_1_ = pEVar47->e_ident_class;" (assignment_expression "uVar38._0_1_ = pEVar47->e_ident_class" (field_expression "uVar38._0_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_class" identifier -> field_identifier)) ;) (expression_statement "uVar38._1_1_ = pEVar47->e_ident_data;" (assignment_expression "uVar38._1_1_ = pEVar47->e_ident_data" (field_expression "uVar38._1_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_data" identifier -> field_identifier)) ;) (expression_statement "uVar38._2_1_ = pEVar47->e_ident_version;" (assignment_expression "uVar38._2_1_ = pEVar47->e_ident_version" (field_expression "uVar38._2_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_version" identifier -> field_identifier)) ;) (expression_statement "uVar38._3_1_ = pEVar47->e_ident_osabi;" (assignment_expression "uVar38._3_1_ = pEVar47->e_ident_osabi" (field_expression "uVar38._3_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_osabi" identifier -> field_identifier)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" identifier = (cast_expression "(Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" ( (binary_expression "pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1)" (field_expression "pEStack_1f0->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(puVar17 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar17 + -1)" ( (binary_expression "puVar17 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);" (call_expression "(*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8)" (parenthesized_expression "(*(code *)(iVar10 + 0x3cd0))" ( (pointer_expression "*(code *)(iVar10 + 0x3cd0)" * (cast_expression "(code *)(iVar10 + 0x3cd0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x3cd0)" ( (binary_expression "iVar10 + 0x3cd0" identifier + number_literal) )))) )) (argument_list "(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar10 + 0x3cd0)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x3cd0)" ( (binary_expression "iVar10 + 0x3cd0" identifier + number_literal) )))) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEStack_1a8->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1a8->e_ident_class" & (field_expression "pEStack_1a8->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(pEVar48 != pEStack_1d4)" ( (binary_expression "pEVar48 != pEStack_1d4" identifier != identifier) )) ;) })) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)auStack_180;" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)auStack_180" identifier = (cast_expression "(Elf32_Ehdr *)auStack_180" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50" identifier = (cast_expression "(Elf32_Ehdr *)-(int)pEVar50" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pEVar50" - (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x543c)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x543c" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);" (assignment_expression "pbStack_1c0 = *(byte **)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(byte **)(puVar53 + 0xb7620)" * (cast_expression "(byte **)(puVar53 + 0xb7620)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_1f0 + 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1f0 + 2)" ( (binary_expression "(int)pEStack_1f0 + 2" (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5114)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5114" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pEVar47 = pEStack_1c4;" (assignment_expression "pEVar47 = pEStack_1c4" identifier = identifier) ;) (do_statement "do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );" do (compound_statement "{\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  }" { (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_1f0 + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1f0 + 1)" ( (binary_expression "(int)pEStack_1f0 + 1" (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pEVar48 = pEStack_1f0;" (assignment_expression "pEVar48 = pEStack_1f0" identifier = identifier) ;) (if_statement "if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }" if (parenthesized_expression "((int)pEStack_1f0 < 0)" ( (binary_expression "(int)pEStack_1f0 < 0" (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0" identifier = (cast_expression "(Elf32_Ehdr *)-(int)pEStack_1f0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pEStack_1f0" - (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "pEStack_1c8 = pEVar50;" (assignment_expression "pEStack_1c8 = pEVar50" identifier = identifier) ;) (if_statement "if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" if (parenthesized_expression "(*(char *)((int)&uStack_8c + (int)pEVar48) == '\0')" ( (binary_expression "*(char *)((int)&uStack_8c + (int)pEVar48) == '\0'" (pointer_expression "*(char *)((int)&uStack_8c + (int)pEVar48)" * (cast_expression "(char *)((int)&uStack_8c + (int)pEVar48)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_8c + (int)pEVar48)" ( (binary_expression "(int)&uStack_8c + (int)pEVar48" (cast_expression "(int)&uStack_8c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_8c" & identifier)) + (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }" { (if_statement "if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }" if (parenthesized_expression "(-1 < (int)pEStack_1f0)" ( (binary_expression "-1 < (int)pEStack_1f0" number_literal < (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }" { (if_statement "if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;" if (parenthesized_expression "(pEStack_1f0 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1f0 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a569c;" goto statement_identifier ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);" (assignment_expression "pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" identifier = (binary_expression "(char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" (cast_expression "(char *)(uint)(ushort)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier )))) * (cast_expression "(dword *)(auStack_144._0_4_ + 0x14)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x14)" ( (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" ( (binary_expression "*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2" (pointer_expression "*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" * (cast_expression "(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" ( (binary_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3" (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) + number_literal) )))) + (binary_expression "auStack_130._0_4_ * 2" (field_expression "auStack_130._0_4_" identifier . field_identifier) * number_literal)) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9)" identifier = (binary_expression "(Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9)" (cast_expression "(Elf32_Ehdr *)(uint)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(auStack_144._0_4_ + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 9)" ( (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" * (cast_expression "(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" & (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))))) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" ( (binary_expression "pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]" identifier + (subscript_expression "((byte *)(auStack_144._0_4_ + 9))[3]" (parenthesized_expression "((byte *)(auStack_144._0_4_ + 9))" ( (cast_expression "(byte *)(auStack_144._0_4_ + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 9)" ( (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) [ number_literal ])) )))) ;) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" identifier = number_literal) ;) (expression_statement "pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;" (assignment_expression "pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_130._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_130._0_4_" identifier . field_identifier))) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (expression_statement "pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_130._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_130._0_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_000a5774;" goto statement_identifier ;) })) (expression_statement "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (if_statement "if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }" if (parenthesized_expression "(*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14))" ( (binary_expression "*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4)" ( (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) <= (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (binary_expression "auStack_130 + (int)puVar17 * 4 + 0x14" (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) )) (compound_statement "{\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }" { (labeled_statement "LAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" statement_identifier : (expression_statement "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;)) (expression_statement "iVar20 = auStack_cc._0_4_;" (assignment_expression "iVar20 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (if_statement "if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }" if (parenthesized_expression "((int)pEVar48 < (int)pcStack_1bc)" ( (binary_expression "(int)pEVar48 < (int)pcStack_1bc" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }" { (expression_statement "iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);" (assignment_expression "iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" identifier = (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) + (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (binary_expression "auStack_130 + (int)puVar17 * 4 + 0x14" (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))))) ;) })) (expression_statement "pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" ( (binary_expression "auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4" (binary_expression "auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4" identifier + (binary_expression "(int)((int)&pEVar48[-1].e_shstrndx + 1) * 4" (cast_expression "(int)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) * number_literal)) + number_literal) ))))) ;) (expression_statement "pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);" (assignment_expression "pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_130 + (int)pEVar48 * 4)" ( (binary_expression "auStack_130 + (int)pEVar48 * 4" identifier + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);" (assignment_expression "iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4)" identifier = (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) + (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4)" ( (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))))) ;) (expression_statement "pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;" (assignment_expression "pcVar46 = (char *)(uint)(ushort)pEVar47->e_version" identifier = (cast_expression "(char *)(uint)(ushort)pEVar47->e_version" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(ushort)pEVar47->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar47->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar47->e_version" identifier -> field_identifier))))) ;) (expression_statement "pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);" (assignment_expression "pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar54 - iVar44)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar54 - iVar44)" ( (binary_expression "(int)pEVar54 - iVar44" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0]" identifier = (cast_expression "(Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0]" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pEVar47->e_ident_pad[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[0]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) ;) (expression_statement "pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&pEVar47[1].e_ident_class" * (cast_expression "(Elf32_Ehdr **)&pEVar47[1].e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEVar47[1].e_ident_class" & (field_expression "pEVar47[1].e_ident_class" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" ( (binary_expression "*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2" (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "(int)pEVar42 * 2" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" ( (binary_expression "pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20" (binary_expression "pcVar46 + (uint)pEVar47->e_ident_pad[3]" identifier + (cast_expression "(uint)pEVar47->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) + identifier) )))) ;) (if_statement "if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" if (parenthesized_expression "(iVar20 < iVar44)" ( (binary_expression "iVar20 < iVar44" identifier < identifier) )) (compound_statement "{\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }" { (expression_statement "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);" (assignment_expression "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" identifier = (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" ( (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" * (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + -0x5e24)" ( (binary_expression "pbStack_1c0 + -0x5e24" identifier + number_literal) )))) )) (argument_list "(pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" ( identifier , identifier , (binary_expression "iVar44 - iVar20" identifier - identifier) , (pointer_expression "&iStack_c4" & identifier) , identifier )))) ;) (expression_statement "pEStack_1b8 = pEVar11;" (assignment_expression "pEStack_1b8 = pEVar11" identifier = identifier) ;) (if_statement "if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }" if (parenthesized_expression "(iVar18 <= (int)pcVar46)" ( (binary_expression "iVar18 <= (int)pcVar46" identifier <= (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }" { (expression_statement "iVar35 = (int)pcVar46 << 1;" (assignment_expression "iVar35 = (int)pcVar46 << 1" identifier = (binary_expression "(int)pcVar46 << 1" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pcVar46 = pcVar46 + -iVar18;" (assignment_expression "pcVar46 = pcVar46 + -iVar18" identifier = (binary_expression "pcVar46 + -iVar18" identifier + (unary_expression "-iVar18" - identifier))) ;) (expression_statement "(**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);" (call_expression "(**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" ( (pointer_expression "**(code **)(puVar53 + 0xb791c)" * (pointer_expression "*(code **)(puVar53 + 0xb791c)" * (cast_expression "(code **)(puVar53 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb791c)" ( (binary_expression "puVar53 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35)" ( (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) , (binary_expression "*(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2" (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "iVar18 * 2" identifier * number_literal)) , identifier ))) ;) (goto_statement "goto LAB_000a5774;" goto statement_identifier ;) })) (expression_statement "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);" (assignment_expression "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(iVar10 + -0x75c0))(0x111f9)" (parenthesized_expression "(*(code *)(iVar10 + -0x75c0))" ( (pointer_expression "*(code *)(iVar10 + -0x75c0)" * (cast_expression "(code *)(iVar10 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x75c0)" ( (binary_expression "iVar10 + -0x75c0" identifier + number_literal) )))) )) (argument_list "(0x111f9)" ( number_literal )))) ;) (labeled_statement "LAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" statement_identifier : (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" else (compound_statement "{\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" { (labeled_statement "LAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" statement_identifier : (if_statement "if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" if (parenthesized_expression "((int)pEVar54 < (int)pEVar11)" ( (binary_expression "(int)pEVar54 < (int)pEVar11" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" { (expression_statement "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);" (assignment_expression "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" identifier = (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" ( (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" * (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + -0x5e24)" ( (binary_expression "pbStack_1c0 + -0x5e24" identifier + number_literal) )))) )) (argument_list "(pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" ( identifier , identifier , (binary_expression "(int)pEVar11 - (int)pEVar54" (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&iStack_c4" & identifier) , identifier )))) ;) (expression_statement "pcVar46 = pcVar46 + -iVar18;" (assignment_expression "pcVar46 = pcVar46 + -iVar18" identifier = (binary_expression "pcVar46 + -iVar18" identifier + (unary_expression "-iVar18" - identifier))) ;) }))) (expression_statement "pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));" (assignment_expression "pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" identifier = (cast_expression "(Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" ( (binary_expression "&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1)" (pointer_expression "&pEStack_1d8->e_ident_version" & (field_expression "pEStack_1d8->e_ident_version" identifier -> field_identifier)) + (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" ( (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);" (assignment_expression "auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" (field_expression "auStack_180._0_4_" identifier . field_identifier) = (binary_expression "pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + (parenthesized_expression "(CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" ( (binary_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff" (binary_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1" (call_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num)" identifier (argument_list "((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num)" ( (subscript_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)]" (parenthesized_expression "(&pEStack_1d8->e_ident_data)" ( (pointer_expression "&pEStack_1d8->e_ident_data" & (field_expression "pEStack_1d8->e_ident_data" identifier -> field_identifier)) )) [ (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" ( (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) ]) , (field_expression "pEStack_1b0->e_ident_magic_num" identifier -> field_identifier) ))) - number_literal) & number_literal) )))) ;) (if_statement "if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }" if (parenthesized_expression "((uint)auStack_180._0_4_ < pEVar49)" ( (binary_expression "(uint)auStack_180._0_4_ < pEVar49" (cast_expression "(uint)auStack_180._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_180._0_4_" identifier . field_identifier)) < identifier) )) (compound_statement "{\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }" { (labeled_statement "LAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" statement_identifier : (if_statement "if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" if (parenthesized_expression "(0 < (int)pEVar42)" ( (binary_expression "0 < (int)pEVar42" number_literal < (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" { (labeled_statement "LAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);" statement_identifier : (expression_statement "pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(iVar44 << 1)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar44 << 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 << 1)" ( (binary_expression "iVar44 << 1" identifier << number_literal) )))) ;)) (expression_statement "pEVar54 = pEVar42;" (assignment_expression "pEVar54 = pEVar42" identifier = identifier) ;) (do_statement "do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);" do (compound_statement "{\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              }" { (expression_statement "iVar20 = aiStack_c0[0] + -1;" (assignment_expression "iVar20 = aiStack_c0[0] + -1" identifier = (binary_expression "aiStack_c0[0] + -1" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }" if (parenthesized_expression "(*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0)" ( (binary_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0" (pointer_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20)" * (cast_expression "(short *)(pEVar49->e_ident_magic_str + iVar20)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + iVar20)" ( (binary_expression "pEVar49->e_ident_magic_str + iVar20" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + identifier) )))) == number_literal) )) (compound_statement "{\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }" { (expression_statement "sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );" (assignment_expression "sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" identifier = (call_expression "(*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" (parenthesized_expression "(*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)" ( (pointer_expression "*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" * (cast_expression "(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" (parenthesized_expression "((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc._4_4_ + 0x34)" ( (binary_expression "auStack_cc._4_4_ + 0x34" (field_expression "auStack_cc._4_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) )) (argument_list "(auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" ( (field_expression "auStack_cc._4_4_" identifier . field_identifier) , (pointer_expression "*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)" * (cast_expression "(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_c4 + (int)pEVar49 * 2)" ( (binary_expression "iStack_c4 + (int)pEVar49 * 2" identifier + (binary_expression "(int)pEVar49 * 2" (cast_expression "(int)pEVar49" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) )))) ;) (expression_statement "*(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;" (assignment_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21" (pointer_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20)" * (cast_expression "(short *)(pEVar49->e_ident_magic_str + iVar20)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + iVar20)" ( (binary_expression "pEVar49->e_ident_magic_str + iVar20" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + identifier) )))) = identifier) ;) })) (expression_statement "pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);" (assignment_expression "pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar54[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar54[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar54[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar54[-1].e_shstrndx" & (field_expression "pEVar54[-1].e_shstrndx" (subscript_expression "pEVar54[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" ( (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pEVar54 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar54 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "pEVar54 = (Elf32_Ehdr *)auStack_cc;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)auStack_cc" identifier = (cast_expression "(Elf32_Ehdr *)auStack_cc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);" (assignment_expression "auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47)" (parenthesized_expression "(*(code *)pEStack_1a8)" ( (pointer_expression "*(code *)pEStack_1a8" * (cast_expression "(code *)pEStack_1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar54,iVar44,pEVar42,pEVar47)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_000a5b00;" goto statement_identifier ;) })) (if_statement "if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }" if (parenthesized_expression "(iVar44 < iVar20)" ( (binary_expression "iVar44 < iVar20" identifier < identifier) )) (compound_statement "{\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }" { (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" identifier = (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar20 - iVar44)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 - iVar44)" ( (binary_expression "iVar20 - iVar44" identifier - identifier) )))) ;) (if_statement "if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }" if (parenthesized_expression "((int)pEVar42 < iVar20 - iVar44)" ( (binary_expression "(int)pEVar42 < iVar20 - iVar44" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "iVar20 - iVar44" identifier - identifier)) )) (compound_statement "{\n              pEStack_1b8 = pEVar42;\n            }" { (expression_statement "pEStack_1b8 = pEVar42;" (assignment_expression "pEStack_1b8 = pEVar42" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;" (call_expression "(**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" ( (pointer_expression "**(code **)(puVar53 + 0xb791c)" * (pointer_expression "*(code **)(puVar53 + 0xb791c)" * (cast_expression "(code **)(puVar53 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb791c)" ( (binary_expression "puVar53 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)" ( (binary_expression "iVar18 + (int)pEStack_1b8 * 2" identifier + (binary_expression "(int)pEStack_1b8 * 2" (cast_expression "(int)pEStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , identifier , (binary_expression "(int)pcVar46 << 1" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) (expression_statement "iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);" (assignment_expression "iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" identifier = (call_expression "(*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar18 != 0) goto LAB_000a5a94;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a94;" goto statement_identifier ;)) (expression_statement "pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);" (assignment_expression "pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1)" identifier = (binary_expression "pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1)" (field_expression "pEStack_1b8->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pcVar46 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar46 + -1)" ( (binary_expression "pcVar46 + -1" identifier + number_literal) ))))) ;) })) (expression_statement "uVar25 = (uint)pEVar47->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)pEVar47->e_ident_pad[3]" identifier = (cast_expression "(uint)pEVar47->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" identifier = (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (if_statement "if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }" { (expression_statement "puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);" (assignment_expression "puVar41 = (ushort *)((int)&pEVar47->e_entry + 2)" identifier = (cast_expression "(ushort *)((int)&pEVar47->e_entry + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar47->e_entry + 2)" ( (binary_expression "(int)&pEVar47->e_entry + 2" (cast_expression "(int)&pEVar47->e_entry" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar47->e_entry" & (field_expression "pEVar47->e_entry" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (do_statement "do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);" do (compound_statement "{\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            }" { (expression_statement "uVar3 = *puVar41;" (assignment_expression "uVar3 = *puVar41" identifier = (pointer_expression "*puVar41" * identifier)) ;) (expression_statement "iVar19 = ((uint)uVar3 + iVar20) - iVar44;" (assignment_expression "iVar19 = ((uint)uVar3 + iVar20) - iVar44" identifier = (binary_expression "((uint)uVar3 + iVar20) - iVar44" (parenthesized_expression "((uint)uVar3 + iVar20)" ( (binary_expression "(uint)uVar3 + iVar20" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier) )) - identifier)) ;) (expression_statement "pEStack_1b8 = pEVar48;" (assignment_expression "pEStack_1b8 = pEVar48" identifier = identifier) ;) (if_statement "if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }" if (parenthesized_expression "((-1 < iVar19) && (iVar19 < (int)pEVar42))" ( (binary_expression "(-1 < iVar19) && (iVar19 < (int)pEVar42)" (parenthesized_expression "(-1 < iVar19)" ( (binary_expression "-1 < iVar19" number_literal < identifier) )) && (parenthesized_expression "(iVar19 < (int)pEVar42)" ( (binary_expression "iVar19 < (int)pEVar42" identifier < (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }" { (expression_statement "iVar18 = iVar18 + iVar19 * 2;" (assignment_expression "iVar18 = iVar18 + iVar19 * 2" identifier = (binary_expression "iVar18 + iVar19 * 2" identifier + (binary_expression "iVar19 * 2" identifier * number_literal))) ;) (expression_statement "(**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);" (call_expression "(**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" ( (pointer_expression "**(code **)(puVar53 + 0xb791c)" * (pointer_expression "*(code **)(puVar53 + 0xb791c)" * (cast_expression "(code **)(puVar53 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb791c)" ( (binary_expression "puVar53 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2)" ( (binary_expression "iVar18 + 2" identifier + number_literal) , identifier , (binary_expression "((int)pcVar46 - iVar19) * 2" (parenthesized_expression "((int)pcVar46 - iVar19)" ( (binary_expression "(int)pcVar46 - iVar19" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal) ))) ;) (expression_statement "pcVar46 = pcVar46 + 1;" (assignment_expression "pcVar46 = pcVar46 + 1" identifier = (binary_expression "pcVar46 + 1" identifier + number_literal)) ;) (expression_statement "iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);" (assignment_expression "iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" identifier = (call_expression "(*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" ( identifier , identifier , identifier , identifier , (binary_expression "(uint)uVar3 + iVar20" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar18 != 0) goto LAB_000a5a9c;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a9c;" goto statement_identifier ;)) (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" identifier = (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar25 = (uint)pEVar47->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)pEVar47->e_ident_pad[3]" identifier = (cast_expression "(uint)pEVar47->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) })) (expression_statement "iVar35 = iVar35 + 1;" (assignment_expression "iVar35 = iVar35 + 1" identifier = (binary_expression "iVar35 + 1" identifier + number_literal)) ;) (expression_statement "puVar41 = puVar41 + 1;" (assignment_expression "puVar41 = puVar41 + 1" identifier = (binary_expression "puVar41 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar35 < (int)uVar25)" ( (binary_expression "iVar35 < (int)uVar25" identifier < (cast_expression "(int)uVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);" (assignment_expression "iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" identifier = (call_expression "(*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" ( identifier , identifier , identifier , (binary_expression "iVar18 + (int)pcVar46 * 2" identifier + (binary_expression "(int)pcVar46 * 2" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , (binary_expression "pcVar46 + iVar44" identifier + identifier) , (binary_expression "(int)pEVar42 - (int)pcVar46" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (if_statement "if (iVar20 != 0) goto LAB_000a5a94;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a94;" goto statement_identifier ;)) (expression_statement "*(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;" (assignment_expression "*(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42" (pointer_expression "*(short *)((int)&pEVar47->e_version + 2)" * (cast_expression "(short *)((int)&pEVar47->e_version + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar47->e_version + 2)" ( (binary_expression "(int)&pEVar47->e_version + 2" (cast_expression "(int)&pEVar47->e_version" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar47->e_version" & (field_expression "pEVar47->e_version" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(short)pEVar42" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "pEVar47->e_ident_pad[3] = 0;" (assignment_expression "pEVar47->e_ident_pad[3] = 0" (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);" (assignment_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8)" (subscript_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3]" (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))" ( (binary_expression "pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2)" (field_expression "pEStack_1d8->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar51->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -2)" ( (binary_expression "pEVar51->e_ident_magic_str + -2" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )) [ number_literal ]) = (call_expression "(byte)((uint)pEVar42 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)pEVar42 >> 8)" ( (binary_expression "(uint)pEVar42 >> 8" (cast_expression "(uint)pEVar42" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;" (assignment_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version" (subscript_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4]" (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))" ( (binary_expression "pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2)" (field_expression "pEStack_1d8->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar51->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -2)" ( (binary_expression "pEVar51->e_ident_magic_str + -2" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )) [ number_literal ]) = (cast_expression "(byte)(short)pEVar47->e_version" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)pEVar47->e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "pEVar47->e_version" identifier -> field_identifier)))) ;) (expression_statement "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);" (assignment_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" (subscript_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)]" (parenthesized_expression "(&pEStack_1d8->e_ident_data)" ( (pointer_expression "&pEStack_1d8->e_ident_data" & (field_expression "pEStack_1d8->e_ident_data" identifier -> field_identifier)) )) [ (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" ( (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) ]) = (call_expression "(byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" ( (binary_expression "(uint)(auStack_180._0_4_ - (int)pEVar51) >> 8" (call_expression "(uint)(auStack_180._0_4_ - (int)pEVar51)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(auStack_180._0_4_ - (int)pEVar51)" ( (binary_expression "auStack_180._0_4_ - (int)pEVar51" (field_expression "auStack_180._0_4_" identifier . field_identifier) - (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;" (assignment_expression "pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51" (field_expression "pEStack_1b0->e_ident_magic_num" identifier -> field_identifier) = (binary_expression "(char)auStack_180._0_4_ - (char)pEVar51" (cast_expression "(char)auStack_180._0_4_" ( (type_descriptor "char" primitive_type) ) (field_expression "auStack_180._0_4_" identifier . field_identifier)) - (cast_expression "(char)pEVar51" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "auStack_188._0_4_ = (Elf32_Ehdr *)0x0;" (assignment_expression "auStack_188._0_4_ = (Elf32_Ehdr *)0x0" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);" (assignment_expression "uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" identifier = (pointer_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" * (cast_expression "(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';" (assignment_expression "*(char *)((int)&uStack_8c + (int)pEVar48) = '\x01'" (pointer_expression "*(char *)((int)&uStack_8c + (int)pEVar48)" * (cast_expression "(char *)((int)&uStack_8c + (int)pEVar48)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_8c + (int)pEVar48)" ( (binary_expression "(int)&uStack_8c + (int)pEVar48" (cast_expression "(int)&uStack_8c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_8c" & identifier)) + (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "*(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;" (assignment_expression "*(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13" (pointer_expression "*(short *)&pEVar47->e_version" * (cast_expression "(short *)&pEVar47->e_version" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47->e_version" & (field_expression "pEVar47->e_version" identifier -> field_identifier)))) = (binary_expression "(short)pEStack_1f4 - (short)uVar13" (cast_expression "(short)pEStack_1f4" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) - (cast_expression "(short)uVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (goto_statement "goto LAB_000a5944;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" else (compound_statement "{\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" { (labeled_statement "LAB_000a5944:\n      uVar13 = auStack_144._0_4_;" statement_identifier : (expression_statement "uVar13 = auStack_144._0_4_;" (assignment_expression "uVar13 = auStack_144._0_4_" identifier = (field_expression "auStack_144._0_4_" identifier . field_identifier)) ;)) (if_statement "if ((int)pEVar50 <= (int)pEStack_1e8) break;" if (parenthesized_expression "((int)pEVar50 <= (int)pEStack_1e8)" ( (binary_expression "(int)pEVar50 <= (int)pEStack_1e8" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pEStack_1e8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) }))) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEStack_1e8->e_ident_magic_str" identifier -> field_identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (if_statement "if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" if (parenthesized_expression "(((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0]))" ( (binary_expression "((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])" (parenthesized_expression "((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0))" ( (binary_expression "(pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)" (parenthesized_expression "(pEStack_4c == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_4c == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((short)pEVar26->e_version != 0)" ( (binary_expression "(short)pEVar26->e_version != 0" (cast_expression "(short)pEVar26->e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "pEVar26->e_version" identifier -> field_identifier)) != number_literal) ))) )) || (parenthesized_expression "(*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])" ( (binary_expression "*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0]" (pointer_expression "*(ushort *)(auStack_144._0_4_ + 0x14)" * (cast_expression "(ushort *)(auStack_144._0_4_ + 0x14)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x14)" ( (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) )))) < (cast_expression "(ushort)pEVar26->e_ident_pad[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[0]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ))) )) (compound_statement "{\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }" { (if_statement "if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }" if (parenthesized_expression "(((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0))" ( (binary_expression "((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)" (parenthesized_expression "((char)pEVar7->e_type != '\0')" ( (binary_expression "(char)pEVar7->e_type != '\0'" (cast_expression "(char)pEVar7->e_type" ( (type_descriptor "char" primitive_type) ) (field_expression "pEVar7->e_type" identifier -> field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(puStack_1e0 == (undefined1 *)0x0)" ( (binary_expression "puStack_1e0 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }" { (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_188;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_188" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEVar48 = pEStack_1ec;" (assignment_expression "pEVar48 = pEStack_1ec" identifier = identifier) ;) (do_statement "do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);" do (compound_statement "{\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      }" { (expression_statement "iVar10 = *(int *)pEVar48;" (assignment_expression "iVar10 = *(int *)pEVar48" identifier = (pointer_expression "*(int *)pEVar48" * (cast_expression "(int *)pEVar48" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;" (assignment_expression "param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)param_2->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "param_2->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar48->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar48->e_ident_class" & (field_expression "pEVar48->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);" (call_expression "FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8)" identifier (argument_list "(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8)" * (cast_expression "(undefined4 *)(*(int *)(iVar10 + 0x38) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x38) + 8)" ( (binary_expression "*(int *)(iVar10 + 0x38) + 8" (pointer_expression "*(int *)(iVar10 + 0x38)" * (cast_expression "(int *)(iVar10 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) )))) + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(iVar10 + 4)" * (cast_expression "(undefined4 *)(iVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) , identifier ))) ;) }) while (parenthesized_expression "(pEVar50 != param_2)" ( (binary_expression "pEVar50 != param_2" identifier != identifier) )) ;) })) }) (else_clause "else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" else (compound_statement "{\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" { (expression_statement "auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);" (assignment_expression "auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5910)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5910" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(auStack_144._0_4_,0xffffffff)" ( (field_expression "auStack_144._0_4_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }" { (expression_statement "FUN_000a25bc(uVar13,pEVar26,auStack_188);" (call_expression "FUN_000a25bc(uVar13,pEVar26,auStack_188)" identifier (argument_list "(uVar13,pEVar26,auStack_188)" ( identifier , identifier , identifier ))) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_000a3c84(uVar13,auStack_188);\n      }" { (expression_statement "FUN_000a3c84(uVar13,auStack_188);" (call_expression "FUN_000a3c84(uVar13,auStack_188)" identifier (argument_list "(uVar13,auStack_188)" ( identifier , identifier ))) ;) })) })) }))) (expression_statement "pEVar48 = pEVar50;" (assignment_expression "pEVar48 = pEVar50" identifier = identifier) ;) (while_statement "while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }" while (parenthesized_expression "(pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc)" ( (comma_expression "pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) , (comma_expression "pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) , (binary_expression "(int)pEVar48 < (int)pcStack_1bc" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)))) )) (compound_statement "{\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }" { (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }" { (expression_statement "ppEVar43 = ppEStack_1dc + (int)pEVar48;" (assignment_expression "ppEVar43 = ppEStack_1dc + (int)pEVar48" identifier = (binary_expression "ppEStack_1dc + (int)pEVar48" identifier + (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "FUN_000a3c84(*ppEVar43,auStack_188);" (call_expression "FUN_000a3c84(*ppEVar43,auStack_188)" identifier (argument_list "(*ppEVar43,auStack_188)" ( (pointer_expression "*ppEVar43" * identifier) , identifier ))) ;) }) (else_clause "else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" else (compound_statement "{\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier))) ;) }))) })) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x000a4d64) */\n/* WARNING: Removing unreachable block (ram,0x000a4d8c) */\n/* WARNING: Removing unreachable block (ram,0x000a4f54) */\n/* WARNING: Type propagation algorithm not settling */\n\nvoid insertCell(MemPage *pPage,int i,u8 *pCell,int sz,u8 *pTemp,Pgno iChild,int *pRC)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  ushort uVar3;\n  ushort uVar4;\n  bool bVar5;\n  uint uVar6;\n  anon_union_500_3_7c964c52_for_u aVar7;\n  undefined2 extraout_var;\n  undefined2 extraout_var_00;\n  undefined2 extraout_var_01;\n  code cVar24;\n  Bitvec *pBVar8;\n  u8 uVar25;\n  code *pcVar9;\n  Pgno *pPVar10;\n  u8 *puVar11;\n  uint *puVar12;\n  u16 uVar22;\n  short *psVar13;\n  u32 uVar14;\n  uint *puVar15;\n  sqlite3_vfs **ppsVar17;\n  int iVar18;\n  Bitvec *pBVar19;\n  int iVar20;\n  Pager *pPVar21;\n  short sVar23;\n  code cVar29;\n  uint uVar26;\n  Pgno PVar27;\n  _func_int_sqlite3_vfs_ptr_sqlite3_int64_ptr *p_Var28;\n  Bitvec *extraout_v1;\n  uint uVar30;\n  Bitvec *pTo;\n  int iVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  word *pwVar34;\n  undefined1 *puVar35;\n  _func_int_sqlite3_vfs_ptr_int_char_ptr *p_Var36;\n  sqlite3_vfs *psVar37;\n  undefined2 *puVar38;\n  byte *pbVar39;\n  int iVar40;\n  int *piVar41;\n  u8 *puVar42;\n  code *pcVar43;\n  code *pcVar44;\n  Bitvec *pBVar45;\n  ushort *puVar46;\n  Bitvec *pBVar47;\n  code cVar48;\n  sqlite3_vfs **ppsVar49;\n  byte *pbVar50;\n  Bitvec *pBVar51;\n  Bitvec *pBVar52;\n  Bitvec *pBVar53;\n  Bitvec *pBVar54;\n  Bitvec *pBVar55;\n  Elf32_Ehdr *unaff_s6;\n  Bitvec *pBVar56;\n  Bitvec *unaff_s7;\n  undefined *puVar57;\n  _func_u16_MemPage_ptr_u8_ptr *p_Var58;\n  sqlite3_vfs *psVar59;\n  Bitvec *pBVar60;\n  code *pcVar61;\n  Bitvec *pBStack_1f4;\n  Bitvec *pBStack_1f0;\n  Bitvec *pBStack_1ec;\n  Bitvec *pBStack_1e8;\n  code *pcStack_1e4;\n  Bitvec **ppBStack_1e0;\n  sqlite3_vfs **ppsStack_1dc;\n  int *piStack_1d8;\n  Bitvec *pBStack_1d4;\n  int iStack_1d0;\n  Bitvec *pBStack_1c8;\n  Bitvec *pBStack_1c4;\n  byte *pbStack_1c0;\n  Bitvec *pBStack_1bc;\n  Bitvec *pBStack_1b8;\n  Bitvec *pBStack_1b0;\n  Bitvec *pBStack_1a8;\n  Bitvec *pBStack_188;\n  sqlite3_vfs *psStack_184;\n  Bitvec *apBStack_180 [7];\n  sqlite3_vfs *apsStack_164 [2];\n  undefined2 auStack_15c [4];\n  sqlite3_vfs *psStack_154;\n  sqlite3_vfs *apsStack_150 [4];\n  int aiStack_140 [4];\n  byte abStack_130 [20];\n  byte abStack_11c [16];\n  u8 auStack_10c [4];\n  Pager *apPStack_108 [5];\n  uint auStack_f4 [5];\n  uint auStack_e0 [5];\n  uint auStack_cc [16];\n  byte abStack_8c [68];\n  int rc;\n  undefined4 uStack_2c;\n  uint *puVar16;\n  \n  pBVar52 = (Bitvec *)PTR___stack_chk_guard_0015ba2c;\n  pBVar53 = (Bitvec *)(uint)pPage->nOverflow;\n  uStack_2c = *(undefined4 *)PTR___stack_chk_guard_0015ba2c;\n  cVar48 = SUB41(iChild >> 8,0);\n  cVar24 = SUB41(iChild >> 0x10,0);\n  cVar29 = SUB41(iChild >> 0x18,0);\n  pBVar51 = (Bitvec *)i;\n  piStack_1d8 = (int *)pCell;\n  piVar41 = (int *)sz;\n  if ((pBVar53 == (Bitvec *)0x0) && (sz + 1 < (int)(uint)pPage->nFree)) {\n    pTo = (Bitvec *)pPage->pDbPage;\n    iVar31 = sqlite3PagerWrite((PgHdr *)pTo);\n    if (iVar31 == 0) {\n      uVar30 = (uint)pPage->hdrOffset;\n      pcVar61 = (code *)pPage->aData;\n      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;\n      rc = 0;\n      pcVar44 = pcVar61 + uVar30 + 5;\n      pcVar43 = pcVar61 + uVar30 + 6;\n      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);\n      if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;\n      if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }\n      iChild = (Pgno)(pPage->aCellIdx + i * 2);\n      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);\n      pBVar51 = (Bitvec *)iChild;\n      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));\n      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;\n      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;\n      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);\n      pPage->nCell = pPage->nCell + 1;\n      uVar25 = *(u8 *)&pTo->iSize + '\x01';\n      *(u8 *)&pTo->iSize = uVar25;\n      if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }\n      if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }\n    }\n    else {\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }\n  }\n  else {\n    pBVar8 = (Bitvec *)pCell;\n    if (pTemp != (u8 *)0x0) {\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }\n    if (iChild != 0) {\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }\n    uVar30 = (uint)pPage->nOverflow;\n    pTo = (Bitvec *)(uVar30 + 1);\n    pPage->nOverflow = (u8)pTo;\n    pPage->apOvfl[uVar30] = (u8 *)pBVar8;\n    pPage->aiOvfl[uVar30] = (u16)i;\n    pCell = (u8 *)pBVar8;\n  }\n  if (uStack_2c == pBVar52->iSize) {\n    return;\n  }\n  pcVar61 = balance_nonroot;\n  puVar57 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  pPVar10 = *(Pgno **)(puVar57 + 0xb790c);\n  abStack_8c._44_4_ = pRC;\n  abStack_8c._24_4_ = pBVar52;\n  pBStack_188 = (Bitvec *)0x0;\n  abStack_8c._0_4_ = (Wal *)0x0;\n  abStack_8c[4] = '\0';\n  auStack_cc[0] = 0;\n  auStack_cc[2] = 0;\n  abStack_8c._8_4_ = *pPVar10;\n  pBVar8 = (pTo->u).apSub[10];\n  abStack_8c._12_4_ = pPage;\n  abStack_8c._16_4_ = iChild;\n  abStack_8c._20_4_ = pCell;\n  abStack_8c._28_4_ = pBVar53;\n  abStack_8c._32_4_ = i;\n  abStack_8c._36_4_ = unaff_s6;\n  abStack_8c._40_4_ = unaff_s7;\n  abStack_8c._48_4_ = pcVar61;\n  abStack_8c._56_4_ = pBVar51;\n  abStack_8c._64_4_ = piVar41;\n  if (piStack_1d8 == (int *)0x0) goto LAB_000a44d0;\n  uVar30 = (uint)*(u16 *)((int)&pTo->u + 10);\n  pBVar53 = (Bitvec *)((pTo->u).aBitmap[0] + uVar30);\n  if (pBVar53 < (Bitvec *)0x2) {\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    abStack_8c._56_4_ = (Bitvec *)0x0;\n    pBStack_1d4 = pBVar53;\nLAB_000a49d0:\n    pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);\n  }\n  else {\n    pBStack_1d4 = (Bitvec *)0xffe9ca52;\n    pBVar54 = pBStack_1d4;\n    if (pBVar51 != (Bitvec *)0x0) {\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }\n    uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    if (uVar30 == uVar26) goto LAB_000a49d0;\n    uVar2 = *(u16 *)((int)&pTo->u + 0xc);\n    uVar30 = (uint)uVar2;\n    pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));\n  }\n  ppsStack_1dc = apsStack_164 + 5;\n  pBStack_1c4 = (Bitvec *)apsStack_164;\n  ppBStack_1e0 = &pBStack_188;\n  iStack_1d0 = (int)pBStack_1d4 * 4;\n  uVar26 = (uint)pBStack_1c8 & 3;\n  ppsVar17 = ppsStack_1dc + (int)pBStack_1d4;\n  ppsVar49 = (sqlite3_vfs **)(&pBStack_1c4->iSize + (int)pBStack_1d4);\n  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x6acc);\n  pBStack_1f4 = (Bitvec *)0x0;\n  pBStack_1ec = (Bitvec *)apPStack_108;\n  pbVar39 = (byte *)((int)&pBStack_1c8->iSize + 3);\n  uVar6 = (uint)pbVar39 & 3;\n  psStack_184 = (sqlite3_vfs *)\n                ((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8);\n  pcStack_1e4 = (code *)(*(int *)(puVar57 + 0xb7620) + -0x5c68);\n  pBVar51 = pBStack_1d4;\n  while( true ) {\n    i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0);\n    pBVar53 = (Bitvec *)((int)pBVar51 * 4);\n    pBVar54 = (Bitvec *)i;\n    pBVar56 = pTo;\n    pBVar60 = pBVar8;\n    pBVar19 = pBStack_1d4;\n    pBStack_188 = (Bitvec *)i;\n    if ((Bitvec *)i != (Bitvec *)0x0) break;\n    pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n    pBStack_1f4 = (Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext);\n    unaff_s7 = (Bitvec *)i;\n    if (pBVar51 == (Bitvec *)0xffffffff) {\n      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);\n      auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);\n      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = abStack_11c;\n      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);\n      auStack_cc[1] = (uint)apsStack_150[0];\n      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);\n      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);\n      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);\n      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];\n      pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));\n      pBVar60 = (Bitvec *)0x0;\n      pBVar56 = (Bitvec *)0x0;\n      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);\n      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);\n      pBVar54 = (Bitvec *)apsStack_150[0];\n      pbVar39 = pbStack_1c0;\n      pBVar51 = pBStack_1bc;\n      if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10];\n    pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_);\n    if (((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))\n    {\n      pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));\n      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;\n      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);\n      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);\n      aVar7 = pBVar8->u;\n      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;\n      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }\n      if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }\n    }\n    else {\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }\n    ppsVar17 = ppsVar17 + -1;\n    ppsVar49 = ppsVar49 + -1;\n  }\n  (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,(int)((int)&pBVar51->iSize + 1) * 4,0xc);\n  unaff_s7 = (Bitvec *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar57 + 0xb7894))\n            ((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,\n             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2);\n  if ((pBVar54->u).aBitmap[0] == '\0') {\nLAB_000a4624:\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }\n  else {\n    uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);\n    if (uVar30 != 0) {\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }\n    pwVar34 = (word *)((pBVar54->u).aHash + 6);\n    iVar31 = 0;\n    do {\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }\n  uVar4 = *(ushort *)((int)&pBVar54->u + 6);\n  PVar27 = auStack_cc[0];\n  for (; pBVar53 < (Bitvec *)((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4);\n      pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)) {\n    ((u32 *)auStack_cc[2])[PVar27] =\n         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize);\n    auStack_cc[0] = PVar27 + 1;\n    PVar27 = auStack_cc[0];\n  }\n  auStack_cc[0] = PVar27;\n  *(Pgno *)pbVar39 = PVar27;\n  if (((int)pBVar60 < (int)pBStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar61 = *(code **)(puVar57 + 0xb7910);\n    psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60];\n    psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60];\n    uVar30 = (uint)psVar37 & 0xffff;\n    ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize;\n    *(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37;\n    pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30);\n    iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30);\n    ((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0;\n    psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n    *psVar13 = *psVar13 - (short)ppBStack_1e0;\n    if (*(byte *)&pBVar54->iDivisor == 0) {\n      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;\nLAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    else {\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    if ((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;\n    pBVar60 = (Bitvec *)((int)ppsVar17 + 1);\n    pbVar39 = pbVar39 + 4;\n    pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)];\n    pBVar52 = (pBVar54->u).apSub[0xb];\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n    pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6));\n    uVar3 = *(ushort *)((int)&pBVar54->u + 0xc);\n    if (*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n    goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if ((Bitvec *)((int)&pBVar60->iSize + 1) != pBStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pBStack_1f4 = (Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU));\n  iVar18 = 0;\n  pBStack_1a8 = (Bitvec *)abStack_130;\n  pBVar53 = (Bitvec *)apPStack_108;\n  iVar31 = 0;\n  pBVar52 = (Bitvec *)apsStack_150[0];\n  while( true ) {\n    uVar30 = (pBVar52->u).aHash[0xc];\n    uVar26 = *(uint *)(pbStack_1c0 + iVar31);\n    auStack_cc[iVar18 + 10] = uVar26;\n    auStack_cc[iVar18 + 4] = uVar30;\n    iVar20 = iVar18 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];\n      auStack_cc[iVar18 + 0xb] = uVar26 + 1;\n      iVar20 = iVar18 + 2;\n    }\n    iVar18 = iVar20;\n    uVar25 = (pBVar52->u).aBitmap[0];\n    psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8));\n    pBVar53->iSize = (u32)psVar59;\n    if (uVar25 != '\0') {\n      pwVar34 = (word *)((pBVar52->u).aHash + 6);\n      iVar20 = 0;\n      do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);\n    }\n    *(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26;\n    if (iStack_1d0 == iVar31) break;\n    pBVar53 = (Bitvec *)&pBVar53->nSet;\n    pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4);\n    iVar31 = iVar31 + 4;\n  }\n  pBStack_1e8 = (Bitvec *)auStack_cc;\n  pBStack_1ec = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n  pBVar52 = (Bitvec *)0x1;\n  pBVar53 = (Bitvec *)0x2;\n  pBVar19 = pBStack_1a8;\n  pBVar60 = (Bitvec *)apPStack_108;\n  pBStack_1f0 = (Bitvec *)0x0;\n  while( true ) {\n    pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499);\n    pBStack_1b8 = (Bitvec *)0x0;\n    pBVar54 = pBVar51;\n    pBVar47 = pBVar51;\n    pBVar56 = pBVar19;\n    pBStack_1b0 = pBVar8;\n    if ((int)pBStack_1f4 < (int)pBVar60->iSize) {\n      do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);\n    }\n    else {\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }\n    puVar35 = (undefined1 *)auStack_cc[0];\n    if ((int)auStack_cc[0] <= (int)pBVar54) break;\n    while( true ) {\n      iVar31 = (int)pBVar54 * 2;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }\n      iVar18 = uVar30 + 2;\n      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));\n      if ((int)pBStack_1f4 < (int)psVar59) break;\n      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);\n      pBVar60->iSize = (u32)psVar59;\n      pBVar19->iSize = (u32)pBVar54;\n      bVar5 = (int)pBVar54 < (int)puVar35;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }\n      pBVar60->nSet = pBVar60->nSet - iVar18;\n      if (!bVar5) goto LAB_000a4c3c;\n    }\n    if ((int)puVar35 <= (int)pBVar54) break;\n    uVar14 = 0;\n    if (pBStack_1c4 != (Bitvec *)0x0) {\n      uVar14 = pBVar19[-1].u.aHash[0x7c];\n    }\n    bVar5 = (int)pBVar51 <= (int)pBVar52;\n    pBStack_1f0 = pBVar51;\n    if ((int)pBVar54 <= (int)uVar14) {\n      uVar32 = 0x11498;\n      pBVar56 = pBVar19;\n      pBStack_1d4 = pBStack_1a8;\n      pBStack_1b8 = pBStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n    pBVar60 = (Bitvec *)&pBVar60->nSet;\n    pBVar19 = (Bitvec *)&pBVar19->nSet;\n    pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1);\n    if (bVar5) {\n      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      pBVar52 = pBVar51;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  if (pBStack_1c4 == (Bitvec *)0x0) {\nLAB_000a4ef4:\n    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);\n    pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);\n    pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);\n    pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);\n    bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize;\n    pBStack_1f0 = (Bitvec *)(uint)bVar1;\n    pBVar53 = pBStack_1ec;\n    pBVar54 = (Bitvec *)0x0;\n    do {\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while ((int)pBVar54 < (int)pBVar52);\n    piVar41 = aiStack_140;\n    puVar12 = auStack_e0;\n    puVar38 = (undefined2 *)((int)apsStack_164 + 10);\n    pBVar56 = (Bitvec *)0x1;\n    auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)\n    ;\n    puVar33 = auStack_f4;\n    while( true ) {\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }\n    pBVar52 = (Bitvec *)0x0;\n    pBVar53 = pBStack_1ec;\n    do {\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pBStack_1ec = (Bitvec *)(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4);\n  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n  pBStack_1e8 = pBStack_1c4;\n  pBVar54 = (Bitvec *)apPStack_108[(int)pBStack_1c4];\n  pBVar56 = (Bitvec *)(&pBStack_1a8->iSize + (int)pBStack_1c4);\n  do {\n    pBVar19 = pBVar56;\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499);\n    pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c];\n    pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2);\n    pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1);\n    if (*(short *)(auStack_cc[3] + (int)pBVar51) == 0) {\n      (*(code *)pBStack_1f0)(auStack_cc);\n    }\n    do {\n      pBVar60 = pBVar56;\n      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }\n      if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }\n      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);\n      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);\n      pBVar19[-1].u.apSub[0x7c] = pBVar60;\n      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));\n      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);\n    } while (-1 < (int)pBVar56);\n    pBStack_1ec->iSize = (u32)pBVar54;\n    pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53;\n    pBStack_1b0 = pBVar52;\n    if (pBStack_1e8 == (Bitvec *)0x0) {\n      bVar5 = 0 < (int)pBVar60;\n      pBVar51 = pBVar52;\n      pBVar54 = pBVar60;\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      if (bVar5) goto LAB_000a4ef4;\n      break;\n    }\n    pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0);\n    pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0);\n    pBVar54 = pBVar53;\n  } while ((int)pBVar19[-1].u.aHash[0x7b] < (int)pBVar60);\n  uVar32 = 0x114c2;\n  pBStack_1d4 = pBVar19;\nLAB_000a46ec:\n  pBStack_188 = (Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32);\n  pBVar52 = pBVar51;\n  pBVar19 = pBStack_1d4;\nLAB_000a443c:\n  pBStack_1d4 = pBVar19;\n  i = (int)pBVar54;\n  pTo = pBVar56;\n  pBVar8 = pBVar60;\n  if ((Bitvec *)auStack_cc[2] != (Bitvec *)0x0) {\n    (**(code **)(puVar57 + 0xb7500))();\n  }\nLAB_000a4454:\n  iChild = (int)apsStack_150 + iStack_1d0 + 4;\n  pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n  pPage = (MemPage *)ppsStack_1dc;\n  do {\n    if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n    }\n    pPage = (MemPage *)((int)pPage + 4);\n  } while (pPage != (MemPage *)iChild);\n  if (unaff_s7 != (Bitvec *)0x0) {\n    pPage = (MemPage *)(apsStack_150 + 3);\n    pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n    iChild = (int)pPage + unaff_s7 * 4;\n    do {\n      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }\n      pPage = (MemPage *)((int)pPage + 4);\n    } while ((MemPage *)iChild != pPage);\n  }\nLAB_000a44d0:\n  if ((Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10) {\n    return;\n  }\n  pBVar47 = (Bitvec *)abStack_8c._8_4_;\n  (**(code **)(puVar57 + 0xb78f0))();\n  pBVar51 = extraout_v1;\n  pBVar54 = (Bitvec *)i;\n  i = (int)unaff_s7;\n  do {\n    if ((pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))) goto LAB_000a53d0;\n    do {\n      if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }\n      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }\n      pBVar47 = (Bitvec *)auStack_cc[0];\n      pBVar56 = pTo;\n      unaff_s7 = pBVar54;\n      pBVar60 = pBVar8;\n      pBVar19 = pBStack_1d4;\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]));\n  } while( true );\nLAB_000a46e0:\n  uVar32 = 0x11403;\n  pBStack_1ec = (Bitvec *)0x0;\n  pBStack_1f0 = (Bitvec *)apPStack_108;\n  pBStack_1e8 = pBVar8;\n  pBStack_1d4 = pTo;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pBVar54;\n  if (pBVar51 != (Bitvec *)0x0) {\n    pBStack_1f0 = (Bitvec *)0x0;\n    pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_);\n    pBStack_1e8 = (Bitvec *)&pBStack_188;\n    iVar31 = *(int *)(puVar57 + 0xb75e4);\n    pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54);\n    pBVar51 = (Bitvec *)abStack_8c._56_4_;\n    pBVar53 = pBStack_1ec;\n    do {\n      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);\n      pBVar52 = (Bitvec *)pBVar53->iSize;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);\n      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];\n      iVar18 = uVar30 + (int)ppBStack_1e0;\n      if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }\n      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);\n      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while (pBVar51 != pBVar19);\n  }\n  pBStack_1c4 = (Bitvec *)apBStack_180;\n  pBStack_1f0 = (Bitvec *)-(int)pBVar54;\n  pBStack_1a8 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar57 + 0xb7620);\n  pBStack_1e8 = (Bitvec *)((int)&pBStack_1f0->iSize + 2);\n  pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x5114);\n  iVar31 = *(int *)(puVar57 + 0xb7620);\n  pBVar52 = pBStack_1c4;\n  do {\n    pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1);\n    pBVar51 = pBStack_1f0;\n    if ((int)pBStack_1f0 < 0) {\n      pBVar51 = (Bitvec *)-(int)pBStack_1f0;\n    }\n    pBStack_1c8 = pBVar54;\n    if (abStack_8c[(int)pBVar51] == 0) {\n      if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }\n    }\n    else {\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1);\n  } while( true );\n  if ((((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)) ||\n     (*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1))) {\n    if (((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)) {\n      pBStack_1e8 = (Bitvec *)&pBStack_188;\n      pBVar51 = pBStack_1ec;\n      do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);\n    }\n  }\n  else {\n    pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);\n    if (pBStack_188 == (Bitvec *)0x0) {\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }\n  }\n  pBVar51 = pBVar54;\n  while (pBVar56 = pTo, pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc) {\n    if (pBStack_188 == (Bitvec *)0x0) {\n      ppsVar17 = ppsStack_1dc + (int)pBVar51;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);\n    }\n    else {\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }\n  }\n  goto LAB_000a443c;\n}\n\n" comment comment comment comment (function_definition "void insertCell(MemPage *pPage,int i,u8 *pCell,int sz,u8 *pTemp,Pgno iChild,int *pRC)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  ushort uVar3;\n  ushort uVar4;\n  bool bVar5;\n  uint uVar6;\n  anon_union_500_3_7c964c52_for_u aVar7;\n  undefined2 extraout_var;\n  undefined2 extraout_var_00;\n  undefined2 extraout_var_01;\n  code cVar24;\n  Bitvec *pBVar8;\n  u8 uVar25;\n  code *pcVar9;\n  Pgno *pPVar10;\n  u8 *puVar11;\n  uint *puVar12;\n  u16 uVar22;\n  short *psVar13;\n  u32 uVar14;\n  uint *puVar15;\n  sqlite3_vfs **ppsVar17;\n  int iVar18;\n  Bitvec *pBVar19;\n  int iVar20;\n  Pager *pPVar21;\n  short sVar23;\n  code cVar29;\n  uint uVar26;\n  Pgno PVar27;\n  _func_int_sqlite3_vfs_ptr_sqlite3_int64_ptr *p_Var28;\n  Bitvec *extraout_v1;\n  uint uVar30;\n  Bitvec *pTo;\n  int iVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  word *pwVar34;\n  undefined1 *puVar35;\n  _func_int_sqlite3_vfs_ptr_int_char_ptr *p_Var36;\n  sqlite3_vfs *psVar37;\n  undefined2 *puVar38;\n  byte *pbVar39;\n  int iVar40;\n  int *piVar41;\n  u8 *puVar42;\n  code *pcVar43;\n  code *pcVar44;\n  Bitvec *pBVar45;\n  ushort *puVar46;\n  Bitvec *pBVar47;\n  code cVar48;\n  sqlite3_vfs **ppsVar49;\n  byte *pbVar50;\n  Bitvec *pBVar51;\n  Bitvec *pBVar52;\n  Bitvec *pBVar53;\n  Bitvec *pBVar54;\n  Bitvec *pBVar55;\n  Elf32_Ehdr *unaff_s6;\n  Bitvec *pBVar56;\n  Bitvec *unaff_s7;\n  undefined *puVar57;\n  _func_u16_MemPage_ptr_u8_ptr *p_Var58;\n  sqlite3_vfs *psVar59;\n  Bitvec *pBVar60;\n  code *pcVar61;\n  Bitvec *pBStack_1f4;\n  Bitvec *pBStack_1f0;\n  Bitvec *pBStack_1ec;\n  Bitvec *pBStack_1e8;\n  code *pcStack_1e4;\n  Bitvec **ppBStack_1e0;\n  sqlite3_vfs **ppsStack_1dc;\n  int *piStack_1d8;\n  Bitvec *pBStack_1d4;\n  int iStack_1d0;\n  Bitvec *pBStack_1c8;\n  Bitvec *pBStack_1c4;\n  byte *pbStack_1c0;\n  Bitvec *pBStack_1bc;\n  Bitvec *pBStack_1b8;\n  Bitvec *pBStack_1b0;\n  Bitvec *pBStack_1a8;\n  Bitvec *pBStack_188;\n  sqlite3_vfs *psStack_184;\n  Bitvec *apBStack_180 [7];\n  sqlite3_vfs *apsStack_164 [2];\n  undefined2 auStack_15c [4];\n  sqlite3_vfs *psStack_154;\n  sqlite3_vfs *apsStack_150 [4];\n  int aiStack_140 [4];\n  byte abStack_130 [20];\n  byte abStack_11c [16];\n  u8 auStack_10c [4];\n  Pager *apPStack_108 [5];\n  uint auStack_f4 [5];\n  uint auStack_e0 [5];\n  uint auStack_cc [16];\n  byte abStack_8c [68];\n  int rc;\n  undefined4 uStack_2c;\n  uint *puVar16;\n  \n  pBVar52 = (Bitvec *)PTR___stack_chk_guard_0015ba2c;\n  pBVar53 = (Bitvec *)(uint)pPage->nOverflow;\n  uStack_2c = *(undefined4 *)PTR___stack_chk_guard_0015ba2c;\n  cVar48 = SUB41(iChild >> 8,0);\n  cVar24 = SUB41(iChild >> 0x10,0);\n  cVar29 = SUB41(iChild >> 0x18,0);\n  pBVar51 = (Bitvec *)i;\n  piStack_1d8 = (int *)pCell;\n  piVar41 = (int *)sz;\n  if ((pBVar53 == (Bitvec *)0x0) && (sz + 1 < (int)(uint)pPage->nFree)) {\n    pTo = (Bitvec *)pPage->pDbPage;\n    iVar31 = sqlite3PagerWrite((PgHdr *)pTo);\n    if (iVar31 == 0) {\n      uVar30 = (uint)pPage->hdrOffset;\n      pcVar61 = (code *)pPage->aData;\n      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;\n      rc = 0;\n      pcVar44 = pcVar61 + uVar30 + 5;\n      pcVar43 = pcVar61 + uVar30 + 6;\n      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);\n      if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;\n      if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }\n      iChild = (Pgno)(pPage->aCellIdx + i * 2);\n      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);\n      pBVar51 = (Bitvec *)iChild;\n      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));\n      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;\n      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;\n      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);\n      pPage->nCell = pPage->nCell + 1;\n      uVar25 = *(u8 *)&pTo->iSize + '\x01';\n      *(u8 *)&pTo->iSize = uVar25;\n      if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }\n      if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }\n    }\n    else {\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }\n  }\n  else {\n    pBVar8 = (Bitvec *)pCell;\n    if (pTemp != (u8 *)0x0) {\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }\n    if (iChild != 0) {\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }\n    uVar30 = (uint)pPage->nOverflow;\n    pTo = (Bitvec *)(uVar30 + 1);\n    pPage->nOverflow = (u8)pTo;\n    pPage->apOvfl[uVar30] = (u8 *)pBVar8;\n    pPage->aiOvfl[uVar30] = (u16)i;\n    pCell = (u8 *)pBVar8;\n  }\n  if (uStack_2c == pBVar52->iSize) {\n    return;\n  }\n  pcVar61 = balance_nonroot;\n  puVar57 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  pPVar10 = *(Pgno **)(puVar57 + 0xb790c);\n  abStack_8c._44_4_ = pRC;\n  abStack_8c._24_4_ = pBVar52;\n  pBStack_188 = (Bitvec *)0x0;\n  abStack_8c._0_4_ = (Wal *)0x0;\n  abStack_8c[4] = '\0';\n  auStack_cc[0] = 0;\n  auStack_cc[2] = 0;\n  abStack_8c._8_4_ = *pPVar10;\n  pBVar8 = (pTo->u).apSub[10];\n  abStack_8c._12_4_ = pPage;\n  abStack_8c._16_4_ = iChild;\n  abStack_8c._20_4_ = pCell;\n  abStack_8c._28_4_ = pBVar53;\n  abStack_8c._32_4_ = i;\n  abStack_8c._36_4_ = unaff_s6;\n  abStack_8c._40_4_ = unaff_s7;\n  abStack_8c._48_4_ = pcVar61;\n  abStack_8c._56_4_ = pBVar51;\n  abStack_8c._64_4_ = piVar41;\n  if (piStack_1d8 == (int *)0x0) goto LAB_000a44d0;\n  uVar30 = (uint)*(u16 *)((int)&pTo->u + 10);\n  pBVar53 = (Bitvec *)((pTo->u).aBitmap[0] + uVar30);\n  if (pBVar53 < (Bitvec *)0x2) {\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    abStack_8c._56_4_ = (Bitvec *)0x0;\n    pBStack_1d4 = pBVar53;\nLAB_000a49d0:\n    pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);\n  }\n  else {\n    pBStack_1d4 = (Bitvec *)0xffe9ca52;\n    pBVar54 = pBStack_1d4;\n    if (pBVar51 != (Bitvec *)0x0) {\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }\n    uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    if (uVar30 == uVar26) goto LAB_000a49d0;\n    uVar2 = *(u16 *)((int)&pTo->u + 0xc);\n    uVar30 = (uint)uVar2;\n    pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));\n  }\n  ppsStack_1dc = apsStack_164 + 5;\n  pBStack_1c4 = (Bitvec *)apsStack_164;\n  ppBStack_1e0 = &pBStack_188;\n  iStack_1d0 = (int)pBStack_1d4 * 4;\n  uVar26 = (uint)pBStack_1c8 & 3;\n  ppsVar17 = ppsStack_1dc + (int)pBStack_1d4;\n  ppsVar49 = (sqlite3_vfs **)(&pBStack_1c4->iSize + (int)pBStack_1d4);\n  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x6acc);\n  pBStack_1f4 = (Bitvec *)0x0;\n  pBStack_1ec = (Bitvec *)apPStack_108;\n  pbVar39 = (byte *)((int)&pBStack_1c8->iSize + 3);\n  uVar6 = (uint)pbVar39 & 3;\n  psStack_184 = (sqlite3_vfs *)\n                ((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8);\n  pcStack_1e4 = (code *)(*(int *)(puVar57 + 0xb7620) + -0x5c68);\n  pBVar51 = pBStack_1d4;\n  while( true ) {\n    i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0);\n    pBVar53 = (Bitvec *)((int)pBVar51 * 4);\n    pBVar54 = (Bitvec *)i;\n    pBVar56 = pTo;\n    pBVar60 = pBVar8;\n    pBVar19 = pBStack_1d4;\n    pBStack_188 = (Bitvec *)i;\n    if ((Bitvec *)i != (Bitvec *)0x0) break;\n    pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n    pBStack_1f4 = (Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext);\n    unaff_s7 = (Bitvec *)i;\n    if (pBVar51 == (Bitvec *)0xffffffff) {\n      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);\n      auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);\n      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = abStack_11c;\n      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);\n      auStack_cc[1] = (uint)apsStack_150[0];\n      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);\n      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);\n      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);\n      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];\n      pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));\n      pBVar60 = (Bitvec *)0x0;\n      pBVar56 = (Bitvec *)0x0;\n      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);\n      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);\n      pBVar54 = (Bitvec *)apsStack_150[0];\n      pbVar39 = pbStack_1c0;\n      pBVar51 = pBStack_1bc;\n      if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10];\n    pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_);\n    if (((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))\n    {\n      pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));\n      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;\n      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);\n      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);\n      aVar7 = pBVar8->u;\n      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;\n      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }\n      if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }\n    }\n    else {\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }\n    ppsVar17 = ppsVar17 + -1;\n    ppsVar49 = ppsVar49 + -1;\n  }\n  (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,(int)((int)&pBVar51->iSize + 1) * 4,0xc);\n  unaff_s7 = (Bitvec *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar57 + 0xb7894))\n            ((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,\n             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2);\n  if ((pBVar54->u).aBitmap[0] == '\0') {\nLAB_000a4624:\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }\n  else {\n    uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);\n    if (uVar30 != 0) {\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }\n    pwVar34 = (word *)((pBVar54->u).aHash + 6);\n    iVar31 = 0;\n    do {\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }\n  uVar4 = *(ushort *)((int)&pBVar54->u + 6);\n  PVar27 = auStack_cc[0];\n  for (; pBVar53 < (Bitvec *)((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4);\n      pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)) {\n    ((u32 *)auStack_cc[2])[PVar27] =\n         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize);\n    auStack_cc[0] = PVar27 + 1;\n    PVar27 = auStack_cc[0];\n  }\n  auStack_cc[0] = PVar27;\n  *(Pgno *)pbVar39 = PVar27;\n  if (((int)pBVar60 < (int)pBStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar61 = *(code **)(puVar57 + 0xb7910);\n    psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60];\n    psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60];\n    uVar30 = (uint)psVar37 & 0xffff;\n    ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize;\n    *(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37;\n    pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30);\n    iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30);\n    ((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0;\n    psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n    *psVar13 = *psVar13 - (short)ppBStack_1e0;\n    if (*(byte *)&pBVar54->iDivisor == 0) {\n      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;\nLAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    else {\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    if ((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;\n    pBVar60 = (Bitvec *)((int)ppsVar17 + 1);\n    pbVar39 = pbVar39 + 4;\n    pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)];\n    pBVar52 = (pBVar54->u).apSub[0xb];\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n    pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6));\n    uVar3 = *(ushort *)((int)&pBVar54->u + 0xc);\n    if (*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n    goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if ((Bitvec *)((int)&pBVar60->iSize + 1) != pBStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pBStack_1f4 = (Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU));\n  iVar18 = 0;\n  pBStack_1a8 = (Bitvec *)abStack_130;\n  pBVar53 = (Bitvec *)apPStack_108;\n  iVar31 = 0;\n  pBVar52 = (Bitvec *)apsStack_150[0];\n  while( true ) {\n    uVar30 = (pBVar52->u).aHash[0xc];\n    uVar26 = *(uint *)(pbStack_1c0 + iVar31);\n    auStack_cc[iVar18 + 10] = uVar26;\n    auStack_cc[iVar18 + 4] = uVar30;\n    iVar20 = iVar18 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];\n      auStack_cc[iVar18 + 0xb] = uVar26 + 1;\n      iVar20 = iVar18 + 2;\n    }\n    iVar18 = iVar20;\n    uVar25 = (pBVar52->u).aBitmap[0];\n    psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8));\n    pBVar53->iSize = (u32)psVar59;\n    if (uVar25 != '\0') {\n      pwVar34 = (word *)((pBVar52->u).aHash + 6);\n      iVar20 = 0;\n      do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);\n    }\n    *(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26;\n    if (iStack_1d0 == iVar31) break;\n    pBVar53 = (Bitvec *)&pBVar53->nSet;\n    pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4);\n    iVar31 = iVar31 + 4;\n  }\n  pBStack_1e8 = (Bitvec *)auStack_cc;\n  pBStack_1ec = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n  pBVar52 = (Bitvec *)0x1;\n  pBVar53 = (Bitvec *)0x2;\n  pBVar19 = pBStack_1a8;\n  pBVar60 = (Bitvec *)apPStack_108;\n  pBStack_1f0 = (Bitvec *)0x0;\n  while( true ) {\n    pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499);\n    pBStack_1b8 = (Bitvec *)0x0;\n    pBVar54 = pBVar51;\n    pBVar47 = pBVar51;\n    pBVar56 = pBVar19;\n    pBStack_1b0 = pBVar8;\n    if ((int)pBStack_1f4 < (int)pBVar60->iSize) {\n      do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);\n    }\n    else {\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }\n    puVar35 = (undefined1 *)auStack_cc[0];\n    if ((int)auStack_cc[0] <= (int)pBVar54) break;\n    while( true ) {\n      iVar31 = (int)pBVar54 * 2;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }\n      iVar18 = uVar30 + 2;\n      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));\n      if ((int)pBStack_1f4 < (int)psVar59) break;\n      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);\n      pBVar60->iSize = (u32)psVar59;\n      pBVar19->iSize = (u32)pBVar54;\n      bVar5 = (int)pBVar54 < (int)puVar35;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }\n      pBVar60->nSet = pBVar60->nSet - iVar18;\n      if (!bVar5) goto LAB_000a4c3c;\n    }\n    if ((int)puVar35 <= (int)pBVar54) break;\n    uVar14 = 0;\n    if (pBStack_1c4 != (Bitvec *)0x0) {\n      uVar14 = pBVar19[-1].u.aHash[0x7c];\n    }\n    bVar5 = (int)pBVar51 <= (int)pBVar52;\n    pBStack_1f0 = pBVar51;\n    if ((int)pBVar54 <= (int)uVar14) {\n      uVar32 = 0x11498;\n      pBVar56 = pBVar19;\n      pBStack_1d4 = pBStack_1a8;\n      pBStack_1b8 = pBStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n    pBVar60 = (Bitvec *)&pBVar60->nSet;\n    pBVar19 = (Bitvec *)&pBVar19->nSet;\n    pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1);\n    if (bVar5) {\n      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      pBVar52 = pBVar51;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  if (pBStack_1c4 == (Bitvec *)0x0) {\nLAB_000a4ef4:\n    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);\n    pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);\n    pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);\n    pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);\n    bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize;\n    pBStack_1f0 = (Bitvec *)(uint)bVar1;\n    pBVar53 = pBStack_1ec;\n    pBVar54 = (Bitvec *)0x0;\n    do {\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while ((int)pBVar54 < (int)pBVar52);\n    piVar41 = aiStack_140;\n    puVar12 = auStack_e0;\n    puVar38 = (undefined2 *)((int)apsStack_164 + 10);\n    pBVar56 = (Bitvec *)0x1;\n    auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)\n    ;\n    puVar33 = auStack_f4;\n    while( true ) {\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }\n    pBVar52 = (Bitvec *)0x0;\n    pBVar53 = pBStack_1ec;\n    do {\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pBStack_1ec = (Bitvec *)(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4);\n  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n  pBStack_1e8 = pBStack_1c4;\n  pBVar54 = (Bitvec *)apPStack_108[(int)pBStack_1c4];\n  pBVar56 = (Bitvec *)(&pBStack_1a8->iSize + (int)pBStack_1c4);\n  do {\n    pBVar19 = pBVar56;\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499);\n    pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c];\n    pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2);\n    pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1);\n    if (*(short *)(auStack_cc[3] + (int)pBVar51) == 0) {\n      (*(code *)pBStack_1f0)(auStack_cc);\n    }\n    do {\n      pBVar60 = pBVar56;\n      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }\n      if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }\n      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);\n      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);\n      pBVar19[-1].u.apSub[0x7c] = pBVar60;\n      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));\n      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);\n    } while (-1 < (int)pBVar56);\n    pBStack_1ec->iSize = (u32)pBVar54;\n    pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53;\n    pBStack_1b0 = pBVar52;\n    if (pBStack_1e8 == (Bitvec *)0x0) {\n      bVar5 = 0 < (int)pBVar60;\n      pBVar51 = pBVar52;\n      pBVar54 = pBVar60;\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      if (bVar5) goto LAB_000a4ef4;\n      break;\n    }\n    pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0);\n    pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0);\n    pBVar54 = pBVar53;\n  } while ((int)pBVar19[-1].u.aHash[0x7b] < (int)pBVar60);\n  uVar32 = 0x114c2;\n  pBStack_1d4 = pBVar19;\nLAB_000a46ec:\n  pBStack_188 = (Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32);\n  pBVar52 = pBVar51;\n  pBVar19 = pBStack_1d4;\nLAB_000a443c:\n  pBStack_1d4 = pBVar19;\n  i = (int)pBVar54;\n  pTo = pBVar56;\n  pBVar8 = pBVar60;\n  if ((Bitvec *)auStack_cc[2] != (Bitvec *)0x0) {\n    (**(code **)(puVar57 + 0xb7500))();\n  }\nLAB_000a4454:\n  iChild = (int)apsStack_150 + iStack_1d0 + 4;\n  pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n  pPage = (MemPage *)ppsStack_1dc;\n  do {\n    if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n    }\n    pPage = (MemPage *)((int)pPage + 4);\n  } while (pPage != (MemPage *)iChild);\n  if (unaff_s7 != (Bitvec *)0x0) {\n    pPage = (MemPage *)(apsStack_150 + 3);\n    pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n    iChild = (int)pPage + unaff_s7 * 4;\n    do {\n      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }\n      pPage = (MemPage *)((int)pPage + 4);\n    } while ((MemPage *)iChild != pPage);\n  }\nLAB_000a44d0:\n  if ((Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10) {\n    return;\n  }\n  pBVar47 = (Bitvec *)abStack_8c._8_4_;\n  (**(code **)(puVar57 + 0xb78f0))();\n  pBVar51 = extraout_v1;\n  pBVar54 = (Bitvec *)i;\n  i = (int)unaff_s7;\n  do {\n    if ((pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))) goto LAB_000a53d0;\n    do {\n      if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }\n      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }\n      pBVar47 = (Bitvec *)auStack_cc[0];\n      pBVar56 = pTo;\n      unaff_s7 = pBVar54;\n      pBVar60 = pBVar8;\n      pBVar19 = pBStack_1d4;\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]));\n  } while( true );\nLAB_000a46e0:\n  uVar32 = 0x11403;\n  pBStack_1ec = (Bitvec *)0x0;\n  pBStack_1f0 = (Bitvec *)apPStack_108;\n  pBStack_1e8 = pBVar8;\n  pBStack_1d4 = pTo;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pBVar54;\n  if (pBVar51 != (Bitvec *)0x0) {\n    pBStack_1f0 = (Bitvec *)0x0;\n    pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_);\n    pBStack_1e8 = (Bitvec *)&pBStack_188;\n    iVar31 = *(int *)(puVar57 + 0xb75e4);\n    pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54);\n    pBVar51 = (Bitvec *)abStack_8c._56_4_;\n    pBVar53 = pBStack_1ec;\n    do {\n      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);\n      pBVar52 = (Bitvec *)pBVar53->iSize;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);\n      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];\n      iVar18 = uVar30 + (int)ppBStack_1e0;\n      if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }\n      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);\n      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while (pBVar51 != pBVar19);\n  }\n  pBStack_1c4 = (Bitvec *)apBStack_180;\n  pBStack_1f0 = (Bitvec *)-(int)pBVar54;\n  pBStack_1a8 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar57 + 0xb7620);\n  pBStack_1e8 = (Bitvec *)((int)&pBStack_1f0->iSize + 2);\n  pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x5114);\n  iVar31 = *(int *)(puVar57 + 0xb7620);\n  pBVar52 = pBStack_1c4;\n  do {\n    pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1);\n    pBVar51 = pBStack_1f0;\n    if ((int)pBStack_1f0 < 0) {\n      pBVar51 = (Bitvec *)-(int)pBStack_1f0;\n    }\n    pBStack_1c8 = pBVar54;\n    if (abStack_8c[(int)pBVar51] == 0) {\n      if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }\n    }\n    else {\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1);\n  } while( true );\n  if ((((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)) ||\n     (*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1))) {\n    if (((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)) {\n      pBStack_1e8 = (Bitvec *)&pBStack_188;\n      pBVar51 = pBStack_1ec;\n      do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);\n    }\n  }\n  else {\n    pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);\n    if (pBStack_188 == (Bitvec *)0x0) {\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }\n  }\n  pBVar51 = pBVar54;\n  while (pBVar56 = pTo, pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc) {\n    if (pBStack_188 == (Bitvec *)0x0) {\n      ppsVar17 = ppsStack_1dc + (int)pBVar51;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);\n    }\n    else {\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }\n  }\n  goto LAB_000a443c;\n}" primitive_type (function_declarator "insertCell(MemPage *pPage,int i,u8 *pCell,int sz,u8 *pTemp,Pgno iChild,int *pRC)" identifier (parameter_list "(MemPage *pPage,int i,u8 *pCell,int sz,u8 *pTemp,Pgno iChild,int *pRC)" ( (parameter_declaration "MemPage *pPage" type_identifier (pointer_declarator "*pPage" * identifier)) , (parameter_declaration "int i" primitive_type identifier) , (parameter_declaration "u8 *pCell" type_identifier (pointer_declarator "*pCell" * identifier)) , (parameter_declaration "int sz" primitive_type identifier) , (parameter_declaration "u8 *pTemp" type_identifier (pointer_declarator "*pTemp" * identifier)) , (parameter_declaration "Pgno iChild" type_identifier identifier) , (parameter_declaration "int *pRC" primitive_type (pointer_declarator "*pRC" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  ushort uVar3;\n  ushort uVar4;\n  bool bVar5;\n  uint uVar6;\n  anon_union_500_3_7c964c52_for_u aVar7;\n  undefined2 extraout_var;\n  undefined2 extraout_var_00;\n  undefined2 extraout_var_01;\n  code cVar24;\n  Bitvec *pBVar8;\n  u8 uVar25;\n  code *pcVar9;\n  Pgno *pPVar10;\n  u8 *puVar11;\n  uint *puVar12;\n  u16 uVar22;\n  short *psVar13;\n  u32 uVar14;\n  uint *puVar15;\n  sqlite3_vfs **ppsVar17;\n  int iVar18;\n  Bitvec *pBVar19;\n  int iVar20;\n  Pager *pPVar21;\n  short sVar23;\n  code cVar29;\n  uint uVar26;\n  Pgno PVar27;\n  _func_int_sqlite3_vfs_ptr_sqlite3_int64_ptr *p_Var28;\n  Bitvec *extraout_v1;\n  uint uVar30;\n  Bitvec *pTo;\n  int iVar31;\n  undefined4 uVar32;\n  uint *puVar33;\n  word *pwVar34;\n  undefined1 *puVar35;\n  _func_int_sqlite3_vfs_ptr_int_char_ptr *p_Var36;\n  sqlite3_vfs *psVar37;\n  undefined2 *puVar38;\n  byte *pbVar39;\n  int iVar40;\n  int *piVar41;\n  u8 *puVar42;\n  code *pcVar43;\n  code *pcVar44;\n  Bitvec *pBVar45;\n  ushort *puVar46;\n  Bitvec *pBVar47;\n  code cVar48;\n  sqlite3_vfs **ppsVar49;\n  byte *pbVar50;\n  Bitvec *pBVar51;\n  Bitvec *pBVar52;\n  Bitvec *pBVar53;\n  Bitvec *pBVar54;\n  Bitvec *pBVar55;\n  Elf32_Ehdr *unaff_s6;\n  Bitvec *pBVar56;\n  Bitvec *unaff_s7;\n  undefined *puVar57;\n  _func_u16_MemPage_ptr_u8_ptr *p_Var58;\n  sqlite3_vfs *psVar59;\n  Bitvec *pBVar60;\n  code *pcVar61;\n  Bitvec *pBStack_1f4;\n  Bitvec *pBStack_1f0;\n  Bitvec *pBStack_1ec;\n  Bitvec *pBStack_1e8;\n  code *pcStack_1e4;\n  Bitvec **ppBStack_1e0;\n  sqlite3_vfs **ppsStack_1dc;\n  int *piStack_1d8;\n  Bitvec *pBStack_1d4;\n  int iStack_1d0;\n  Bitvec *pBStack_1c8;\n  Bitvec *pBStack_1c4;\n  byte *pbStack_1c0;\n  Bitvec *pBStack_1bc;\n  Bitvec *pBStack_1b8;\n  Bitvec *pBStack_1b0;\n  Bitvec *pBStack_1a8;\n  Bitvec *pBStack_188;\n  sqlite3_vfs *psStack_184;\n  Bitvec *apBStack_180 [7];\n  sqlite3_vfs *apsStack_164 [2];\n  undefined2 auStack_15c [4];\n  sqlite3_vfs *psStack_154;\n  sqlite3_vfs *apsStack_150 [4];\n  int aiStack_140 [4];\n  byte abStack_130 [20];\n  byte abStack_11c [16];\n  u8 auStack_10c [4];\n  Pager *apPStack_108 [5];\n  uint auStack_f4 [5];\n  uint auStack_e0 [5];\n  uint auStack_cc [16];\n  byte abStack_8c [68];\n  int rc;\n  undefined4 uStack_2c;\n  uint *puVar16;\n  \n  pBVar52 = (Bitvec *)PTR___stack_chk_guard_0015ba2c;\n  pBVar53 = (Bitvec *)(uint)pPage->nOverflow;\n  uStack_2c = *(undefined4 *)PTR___stack_chk_guard_0015ba2c;\n  cVar48 = SUB41(iChild >> 8,0);\n  cVar24 = SUB41(iChild >> 0x10,0);\n  cVar29 = SUB41(iChild >> 0x18,0);\n  pBVar51 = (Bitvec *)i;\n  piStack_1d8 = (int *)pCell;\n  piVar41 = (int *)sz;\n  if ((pBVar53 == (Bitvec *)0x0) && (sz + 1 < (int)(uint)pPage->nFree)) {\n    pTo = (Bitvec *)pPage->pDbPage;\n    iVar31 = sqlite3PagerWrite((PgHdr *)pTo);\n    if (iVar31 == 0) {\n      uVar30 = (uint)pPage->hdrOffset;\n      pcVar61 = (code *)pPage->aData;\n      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;\n      rc = 0;\n      pcVar44 = pcVar61 + uVar30 + 5;\n      pcVar43 = pcVar61 + uVar30 + 6;\n      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);\n      if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;\n      if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }\n      iChild = (Pgno)(pPage->aCellIdx + i * 2);\n      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);\n      pBVar51 = (Bitvec *)iChild;\n      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));\n      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;\n      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;\n      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);\n      pPage->nCell = pPage->nCell + 1;\n      uVar25 = *(u8 *)&pTo->iSize + '\x01';\n      *(u8 *)&pTo->iSize = uVar25;\n      if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }\n      if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }\n    }\n    else {\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }\n  }\n  else {\n    pBVar8 = (Bitvec *)pCell;\n    if (pTemp != (u8 *)0x0) {\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }\n    if (iChild != 0) {\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }\n    uVar30 = (uint)pPage->nOverflow;\n    pTo = (Bitvec *)(uVar30 + 1);\n    pPage->nOverflow = (u8)pTo;\n    pPage->apOvfl[uVar30] = (u8 *)pBVar8;\n    pPage->aiOvfl[uVar30] = (u16)i;\n    pCell = (u8 *)pBVar8;\n  }\n  if (uStack_2c == pBVar52->iSize) {\n    return;\n  }\n  pcVar61 = balance_nonroot;\n  puVar57 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  pPVar10 = *(Pgno **)(puVar57 + 0xb790c);\n  abStack_8c._44_4_ = pRC;\n  abStack_8c._24_4_ = pBVar52;\n  pBStack_188 = (Bitvec *)0x0;\n  abStack_8c._0_4_ = (Wal *)0x0;\n  abStack_8c[4] = '\0';\n  auStack_cc[0] = 0;\n  auStack_cc[2] = 0;\n  abStack_8c._8_4_ = *pPVar10;\n  pBVar8 = (pTo->u).apSub[10];\n  abStack_8c._12_4_ = pPage;\n  abStack_8c._16_4_ = iChild;\n  abStack_8c._20_4_ = pCell;\n  abStack_8c._28_4_ = pBVar53;\n  abStack_8c._32_4_ = i;\n  abStack_8c._36_4_ = unaff_s6;\n  abStack_8c._40_4_ = unaff_s7;\n  abStack_8c._48_4_ = pcVar61;\n  abStack_8c._56_4_ = pBVar51;\n  abStack_8c._64_4_ = piVar41;\n  if (piStack_1d8 == (int *)0x0) goto LAB_000a44d0;\n  uVar30 = (uint)*(u16 *)((int)&pTo->u + 10);\n  pBVar53 = (Bitvec *)((pTo->u).aBitmap[0] + uVar30);\n  if (pBVar53 < (Bitvec *)0x2) {\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    abStack_8c._56_4_ = (Bitvec *)0x0;\n    pBStack_1d4 = pBVar53;\nLAB_000a49d0:\n    pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);\n  }\n  else {\n    pBStack_1d4 = (Bitvec *)0xffe9ca52;\n    pBVar54 = pBStack_1d4;\n    if (pBVar51 != (Bitvec *)0x0) {\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }\n    uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    if (uVar30 == uVar26) goto LAB_000a49d0;\n    uVar2 = *(u16 *)((int)&pTo->u + 0xc);\n    uVar30 = (uint)uVar2;\n    pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));\n  }\n  ppsStack_1dc = apsStack_164 + 5;\n  pBStack_1c4 = (Bitvec *)apsStack_164;\n  ppBStack_1e0 = &pBStack_188;\n  iStack_1d0 = (int)pBStack_1d4 * 4;\n  uVar26 = (uint)pBStack_1c8 & 3;\n  ppsVar17 = ppsStack_1dc + (int)pBStack_1d4;\n  ppsVar49 = (sqlite3_vfs **)(&pBStack_1c4->iSize + (int)pBStack_1d4);\n  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x6acc);\n  pBStack_1f4 = (Bitvec *)0x0;\n  pBStack_1ec = (Bitvec *)apPStack_108;\n  pbVar39 = (byte *)((int)&pBStack_1c8->iSize + 3);\n  uVar6 = (uint)pbVar39 & 3;\n  psStack_184 = (sqlite3_vfs *)\n                ((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8);\n  pcStack_1e4 = (code *)(*(int *)(puVar57 + 0xb7620) + -0x5c68);\n  pBVar51 = pBStack_1d4;\n  while( true ) {\n    i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0);\n    pBVar53 = (Bitvec *)((int)pBVar51 * 4);\n    pBVar54 = (Bitvec *)i;\n    pBVar56 = pTo;\n    pBVar60 = pBVar8;\n    pBVar19 = pBStack_1d4;\n    pBStack_188 = (Bitvec *)i;\n    if ((Bitvec *)i != (Bitvec *)0x0) break;\n    pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n    pBStack_1f4 = (Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext);\n    unaff_s7 = (Bitvec *)i;\n    if (pBVar51 == (Bitvec *)0xffffffff) {\n      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);\n      auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);\n      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = abStack_11c;\n      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);\n      auStack_cc[1] = (uint)apsStack_150[0];\n      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);\n      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);\n      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);\n      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];\n      pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));\n      pBVar60 = (Bitvec *)0x0;\n      pBVar56 = (Bitvec *)0x0;\n      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);\n      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);\n      pBVar54 = (Bitvec *)apsStack_150[0];\n      pbVar39 = pbStack_1c0;\n      pBVar51 = pBStack_1bc;\n      if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10];\n    pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_);\n    if (((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))\n    {\n      pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));\n      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;\n      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);\n      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);\n      aVar7 = pBVar8->u;\n      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;\n      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }\n      if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }\n    }\n    else {\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }\n    ppsVar17 = ppsVar17 + -1;\n    ppsVar49 = ppsVar49 + -1;\n  }\n  (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,(int)((int)&pBVar51->iSize + 1) * 4,0xc);\n  unaff_s7 = (Bitvec *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar57 + 0xb7894))\n            ((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,\n             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2);\n  if ((pBVar54->u).aBitmap[0] == '\0') {\nLAB_000a4624:\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }\n  else {\n    uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);\n    if (uVar30 != 0) {\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }\n    pwVar34 = (word *)((pBVar54->u).aHash + 6);\n    iVar31 = 0;\n    do {\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }\n  uVar4 = *(ushort *)((int)&pBVar54->u + 6);\n  PVar27 = auStack_cc[0];\n  for (; pBVar53 < (Bitvec *)((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4);\n      pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)) {\n    ((u32 *)auStack_cc[2])[PVar27] =\n         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize);\n    auStack_cc[0] = PVar27 + 1;\n    PVar27 = auStack_cc[0];\n  }\n  auStack_cc[0] = PVar27;\n  *(Pgno *)pbVar39 = PVar27;\n  if (((int)pBVar60 < (int)pBStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar61 = *(code **)(puVar57 + 0xb7910);\n    psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60];\n    psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60];\n    uVar30 = (uint)psVar37 & 0xffff;\n    ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize;\n    *(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37;\n    pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30);\n    iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30);\n    ((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0;\n    psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n    *psVar13 = *psVar13 - (short)ppBStack_1e0;\n    if (*(byte *)&pBVar54->iDivisor == 0) {\n      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;\nLAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    else {\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    if ((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;\n    pBVar60 = (Bitvec *)((int)ppsVar17 + 1);\n    pbVar39 = pbVar39 + 4;\n    pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)];\n    pBVar52 = (pBVar54->u).apSub[0xb];\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n    pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6));\n    uVar3 = *(ushort *)((int)&pBVar54->u + 0xc);\n    if (*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n    goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if ((Bitvec *)((int)&pBVar60->iSize + 1) != pBStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pBStack_1f4 = (Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU));\n  iVar18 = 0;\n  pBStack_1a8 = (Bitvec *)abStack_130;\n  pBVar53 = (Bitvec *)apPStack_108;\n  iVar31 = 0;\n  pBVar52 = (Bitvec *)apsStack_150[0];\n  while( true ) {\n    uVar30 = (pBVar52->u).aHash[0xc];\n    uVar26 = *(uint *)(pbStack_1c0 + iVar31);\n    auStack_cc[iVar18 + 10] = uVar26;\n    auStack_cc[iVar18 + 4] = uVar30;\n    iVar20 = iVar18 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];\n      auStack_cc[iVar18 + 0xb] = uVar26 + 1;\n      iVar20 = iVar18 + 2;\n    }\n    iVar18 = iVar20;\n    uVar25 = (pBVar52->u).aBitmap[0];\n    psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8));\n    pBVar53->iSize = (u32)psVar59;\n    if (uVar25 != '\0') {\n      pwVar34 = (word *)((pBVar52->u).aHash + 6);\n      iVar20 = 0;\n      do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);\n    }\n    *(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26;\n    if (iStack_1d0 == iVar31) break;\n    pBVar53 = (Bitvec *)&pBVar53->nSet;\n    pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4);\n    iVar31 = iVar31 + 4;\n  }\n  pBStack_1e8 = (Bitvec *)auStack_cc;\n  pBStack_1ec = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n  pBVar52 = (Bitvec *)0x1;\n  pBVar53 = (Bitvec *)0x2;\n  pBVar19 = pBStack_1a8;\n  pBVar60 = (Bitvec *)apPStack_108;\n  pBStack_1f0 = (Bitvec *)0x0;\n  while( true ) {\n    pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499);\n    pBStack_1b8 = (Bitvec *)0x0;\n    pBVar54 = pBVar51;\n    pBVar47 = pBVar51;\n    pBVar56 = pBVar19;\n    pBStack_1b0 = pBVar8;\n    if ((int)pBStack_1f4 < (int)pBVar60->iSize) {\n      do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);\n    }\n    else {\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }\n    puVar35 = (undefined1 *)auStack_cc[0];\n    if ((int)auStack_cc[0] <= (int)pBVar54) break;\n    while( true ) {\n      iVar31 = (int)pBVar54 * 2;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }\n      iVar18 = uVar30 + 2;\n      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));\n      if ((int)pBStack_1f4 < (int)psVar59) break;\n      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);\n      pBVar60->iSize = (u32)psVar59;\n      pBVar19->iSize = (u32)pBVar54;\n      bVar5 = (int)pBVar54 < (int)puVar35;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }\n      pBVar60->nSet = pBVar60->nSet - iVar18;\n      if (!bVar5) goto LAB_000a4c3c;\n    }\n    if ((int)puVar35 <= (int)pBVar54) break;\n    uVar14 = 0;\n    if (pBStack_1c4 != (Bitvec *)0x0) {\n      uVar14 = pBVar19[-1].u.aHash[0x7c];\n    }\n    bVar5 = (int)pBVar51 <= (int)pBVar52;\n    pBStack_1f0 = pBVar51;\n    if ((int)pBVar54 <= (int)uVar14) {\n      uVar32 = 0x11498;\n      pBVar56 = pBVar19;\n      pBStack_1d4 = pBStack_1a8;\n      pBStack_1b8 = pBStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n    pBVar60 = (Bitvec *)&pBVar60->nSet;\n    pBVar19 = (Bitvec *)&pBVar19->nSet;\n    pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1);\n    if (bVar5) {\n      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      pBVar52 = pBVar51;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  if (pBStack_1c4 == (Bitvec *)0x0) {\nLAB_000a4ef4:\n    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);\n    pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);\n    pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);\n    pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);\n    bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize;\n    pBStack_1f0 = (Bitvec *)(uint)bVar1;\n    pBVar53 = pBStack_1ec;\n    pBVar54 = (Bitvec *)0x0;\n    do {\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while ((int)pBVar54 < (int)pBVar52);\n    piVar41 = aiStack_140;\n    puVar12 = auStack_e0;\n    puVar38 = (undefined2 *)((int)apsStack_164 + 10);\n    pBVar56 = (Bitvec *)0x1;\n    auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)\n    ;\n    puVar33 = auStack_f4;\n    while( true ) {\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }\n    pBVar52 = (Bitvec *)0x0;\n    pBVar53 = pBStack_1ec;\n    do {\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pBStack_1ec = (Bitvec *)(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4);\n  pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n  pBStack_1e8 = pBStack_1c4;\n  pBVar54 = (Bitvec *)apPStack_108[(int)pBStack_1c4];\n  pBVar56 = (Bitvec *)(&pBStack_1a8->iSize + (int)pBStack_1c4);\n  do {\n    pBVar19 = pBVar56;\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499);\n    pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c];\n    pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2);\n    pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1);\n    if (*(short *)(auStack_cc[3] + (int)pBVar51) == 0) {\n      (*(code *)pBStack_1f0)(auStack_cc);\n    }\n    do {\n      pBVar60 = pBVar56;\n      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }\n      if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }\n      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);\n      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);\n      pBVar19[-1].u.apSub[0x7c] = pBVar60;\n      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));\n      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);\n    } while (-1 < (int)pBVar56);\n    pBStack_1ec->iSize = (u32)pBVar54;\n    pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53;\n    pBStack_1b0 = pBVar52;\n    if (pBStack_1e8 == (Bitvec *)0x0) {\n      bVar5 = 0 < (int)pBVar60;\n      pBVar51 = pBVar52;\n      pBVar54 = pBVar60;\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      if (bVar5) goto LAB_000a4ef4;\n      break;\n    }\n    pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0);\n    pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0);\n    pBVar54 = pBVar53;\n  } while ((int)pBVar19[-1].u.aHash[0x7b] < (int)pBVar60);\n  uVar32 = 0x114c2;\n  pBStack_1d4 = pBVar19;\nLAB_000a46ec:\n  pBStack_188 = (Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32);\n  pBVar52 = pBVar51;\n  pBVar19 = pBStack_1d4;\nLAB_000a443c:\n  pBStack_1d4 = pBVar19;\n  i = (int)pBVar54;\n  pTo = pBVar56;\n  pBVar8 = pBVar60;\n  if ((Bitvec *)auStack_cc[2] != (Bitvec *)0x0) {\n    (**(code **)(puVar57 + 0xb7500))();\n  }\nLAB_000a4454:\n  iChild = (int)apsStack_150 + iStack_1d0 + 4;\n  pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n  pPage = (MemPage *)ppsStack_1dc;\n  do {\n    if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n    }\n    pPage = (MemPage *)((int)pPage + 4);\n  } while (pPage != (MemPage *)iChild);\n  if (unaff_s7 != (Bitvec *)0x0) {\n    pPage = (MemPage *)(apsStack_150 + 3);\n    pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n    iChild = (int)pPage + unaff_s7 * 4;\n    do {\n      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }\n      pPage = (MemPage *)((int)pPage + 4);\n    } while ((MemPage *)iChild != pPage);\n  }\nLAB_000a44d0:\n  if ((Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10) {\n    return;\n  }\n  pBVar47 = (Bitvec *)abStack_8c._8_4_;\n  (**(code **)(puVar57 + 0xb78f0))();\n  pBVar51 = extraout_v1;\n  pBVar54 = (Bitvec *)i;\n  i = (int)unaff_s7;\n  do {\n    if ((pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))) goto LAB_000a53d0;\n    do {\n      if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }\n      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }\n      pBVar47 = (Bitvec *)auStack_cc[0];\n      pBVar56 = pTo;\n      unaff_s7 = pBVar54;\n      pBVar60 = pBVar8;\n      pBVar19 = pBStack_1d4;\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]));\n  } while( true );\nLAB_000a46e0:\n  uVar32 = 0x11403;\n  pBStack_1ec = (Bitvec *)0x0;\n  pBStack_1f0 = (Bitvec *)apPStack_108;\n  pBStack_1e8 = pBVar8;\n  pBStack_1d4 = pTo;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pBVar54;\n  if (pBVar51 != (Bitvec *)0x0) {\n    pBStack_1f0 = (Bitvec *)0x0;\n    pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_);\n    pBStack_1e8 = (Bitvec *)&pBStack_188;\n    iVar31 = *(int *)(puVar57 + 0xb75e4);\n    pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54);\n    pBVar51 = (Bitvec *)abStack_8c._56_4_;\n    pBVar53 = pBStack_1ec;\n    do {\n      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);\n      pBVar52 = (Bitvec *)pBVar53->iSize;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);\n      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];\n      iVar18 = uVar30 + (int)ppBStack_1e0;\n      if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }\n      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);\n      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while (pBVar51 != pBVar19);\n  }\n  pBStack_1c4 = (Bitvec *)apBStack_180;\n  pBStack_1f0 = (Bitvec *)-(int)pBVar54;\n  pBStack_1a8 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar57 + 0xb7620);\n  pBStack_1e8 = (Bitvec *)((int)&pBStack_1f0->iSize + 2);\n  pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x5114);\n  iVar31 = *(int *)(puVar57 + 0xb7620);\n  pBVar52 = pBStack_1c4;\n  do {\n    pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1);\n    pBVar51 = pBStack_1f0;\n    if ((int)pBStack_1f0 < 0) {\n      pBVar51 = (Bitvec *)-(int)pBStack_1f0;\n    }\n    pBStack_1c8 = pBVar54;\n    if (abStack_8c[(int)pBVar51] == 0) {\n      if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }\n    }\n    else {\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1);\n  } while( true );\n  if ((((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)) ||\n     (*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1))) {\n    if (((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)) {\n      pBStack_1e8 = (Bitvec *)&pBStack_188;\n      pBVar51 = pBStack_1ec;\n      do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);\n    }\n  }\n  else {\n    pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);\n    if (pBStack_188 == (Bitvec *)0x0) {\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }\n  }\n  pBVar51 = pBVar54;\n  while (pBVar56 = pTo, pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc) {\n    if (pBStack_188 == (Bitvec *)0x0) {\n      ppsVar17 = ppsStack_1dc + (int)pBVar51;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);\n    }\n    else {\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }\n  }\n  goto LAB_000a443c;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "ushort uVar4;" type_identifier identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "anon_union_500_3_7c964c52_for_u aVar7;" type_identifier identifier ;) (declaration "undefined2 extraout_var;" type_identifier identifier ;) (declaration "undefined2 extraout_var_00;" type_identifier identifier ;) (declaration "undefined2 extraout_var_01;" type_identifier identifier ;) (declaration "code cVar24;" type_identifier identifier ;) (declaration "Bitvec *pBVar8;" type_identifier (pointer_declarator "*pBVar8" * identifier) ;) (declaration "u8 uVar25;" type_identifier identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "Pgno *pPVar10;" type_identifier (pointer_declarator "*pPVar10" * identifier) ;) (declaration "u8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "u16 uVar22;" type_identifier identifier ;) (declaration "short *psVar13;" (sized_type_specifier "short" short) (pointer_declarator "*psVar13" * identifier) ;) (declaration "u32 uVar14;" type_identifier identifier ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "sqlite3_vfs **ppsVar17;" type_identifier (pointer_declarator "**ppsVar17" * (pointer_declarator "*ppsVar17" * identifier)) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "Bitvec *pBVar19;" type_identifier (pointer_declarator "*pBVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "Pager *pPVar21;" type_identifier (pointer_declarator "*pPVar21" * identifier) ;) (declaration "short sVar23;" (sized_type_specifier "short" short) identifier ;) (declaration "code cVar29;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "Pgno PVar27;" type_identifier identifier ;) (declaration "_func_int_sqlite3_vfs_ptr_sqlite3_int64_ptr *p_Var28;" type_identifier (pointer_declarator "*p_Var28" * identifier) ;) (declaration "Bitvec *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "Bitvec *pTo;" type_identifier (pointer_declarator "*pTo" * identifier) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "undefined4 uVar32;" type_identifier identifier ;) (declaration "uint *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "word *pwVar34;" type_identifier (pointer_declarator "*pwVar34" * identifier) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "_func_int_sqlite3_vfs_ptr_int_char_ptr *p_Var36;" type_identifier (pointer_declarator "*p_Var36" * identifier) ;) (declaration "sqlite3_vfs *psVar37;" type_identifier (pointer_declarator "*psVar37" * identifier) ;) (declaration "undefined2 *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "byte *pbVar39;" type_identifier (pointer_declarator "*pbVar39" * identifier) ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int *piVar41;" primitive_type (pointer_declarator "*piVar41" * identifier) ;) (declaration "u8 *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "code *pcVar43;" type_identifier (pointer_declarator "*pcVar43" * identifier) ;) (declaration "code *pcVar44;" type_identifier (pointer_declarator "*pcVar44" * identifier) ;) (declaration "Bitvec *pBVar45;" type_identifier (pointer_declarator "*pBVar45" * identifier) ;) (declaration "ushort *puVar46;" type_identifier (pointer_declarator "*puVar46" * identifier) ;) (declaration "Bitvec *pBVar47;" type_identifier (pointer_declarator "*pBVar47" * identifier) ;) (declaration "code cVar48;" type_identifier identifier ;) (declaration "sqlite3_vfs **ppsVar49;" type_identifier (pointer_declarator "**ppsVar49" * (pointer_declarator "*ppsVar49" * identifier)) ;) (declaration "byte *pbVar50;" type_identifier (pointer_declarator "*pbVar50" * identifier) ;) (declaration "Bitvec *pBVar51;" type_identifier (pointer_declarator "*pBVar51" * identifier) ;) (declaration "Bitvec *pBVar52;" type_identifier (pointer_declarator "*pBVar52" * identifier) ;) (declaration "Bitvec *pBVar53;" type_identifier (pointer_declarator "*pBVar53" * identifier) ;) (declaration "Bitvec *pBVar54;" type_identifier (pointer_declarator "*pBVar54" * identifier) ;) (declaration "Bitvec *pBVar55;" type_identifier (pointer_declarator "*pBVar55" * identifier) ;) (declaration "Elf32_Ehdr *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Bitvec *pBVar56;" type_identifier (pointer_declarator "*pBVar56" * identifier) ;) (declaration "Bitvec *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar57;" type_identifier (pointer_declarator "*puVar57" * identifier) ;) (declaration "_func_u16_MemPage_ptr_u8_ptr *p_Var58;" type_identifier (pointer_declarator "*p_Var58" * identifier) ;) (declaration "sqlite3_vfs *psVar59;" type_identifier (pointer_declarator "*psVar59" * identifier) ;) (declaration "Bitvec *pBVar60;" type_identifier (pointer_declarator "*pBVar60" * identifier) ;) (declaration "code *pcVar61;" type_identifier (pointer_declarator "*pcVar61" * identifier) ;) (declaration "Bitvec *pBStack_1f4;" type_identifier (pointer_declarator "*pBStack_1f4" * identifier) ;) (declaration "Bitvec *pBStack_1f0;" type_identifier (pointer_declarator "*pBStack_1f0" * identifier) ;) (declaration "Bitvec *pBStack_1ec;" type_identifier (pointer_declarator "*pBStack_1ec" * identifier) ;) (declaration "Bitvec *pBStack_1e8;" type_identifier (pointer_declarator "*pBStack_1e8" * identifier) ;) (declaration "code *pcStack_1e4;" type_identifier (pointer_declarator "*pcStack_1e4" * identifier) ;) (declaration "Bitvec **ppBStack_1e0;" type_identifier (pointer_declarator "**ppBStack_1e0" * (pointer_declarator "*ppBStack_1e0" * identifier)) ;) (declaration "sqlite3_vfs **ppsStack_1dc;" type_identifier (pointer_declarator "**ppsStack_1dc" * (pointer_declarator "*ppsStack_1dc" * identifier)) ;) (declaration "int *piStack_1d8;" primitive_type (pointer_declarator "*piStack_1d8" * identifier) ;) (declaration "Bitvec *pBStack_1d4;" type_identifier (pointer_declarator "*pBStack_1d4" * identifier) ;) (declaration "int iStack_1d0;" primitive_type identifier ;) (declaration "Bitvec *pBStack_1c8;" type_identifier (pointer_declarator "*pBStack_1c8" * identifier) ;) (declaration "Bitvec *pBStack_1c4;" type_identifier (pointer_declarator "*pBStack_1c4" * identifier) ;) (declaration "byte *pbStack_1c0;" type_identifier (pointer_declarator "*pbStack_1c0" * identifier) ;) (declaration "Bitvec *pBStack_1bc;" type_identifier (pointer_declarator "*pBStack_1bc" * identifier) ;) (declaration "Bitvec *pBStack_1b8;" type_identifier (pointer_declarator "*pBStack_1b8" * identifier) ;) (declaration "Bitvec *pBStack_1b0;" type_identifier (pointer_declarator "*pBStack_1b0" * identifier) ;) (declaration "Bitvec *pBStack_1a8;" type_identifier (pointer_declarator "*pBStack_1a8" * identifier) ;) (declaration "Bitvec *pBStack_188;" type_identifier (pointer_declarator "*pBStack_188" * identifier) ;) (declaration "sqlite3_vfs *psStack_184;" type_identifier (pointer_declarator "*psStack_184" * identifier) ;) (declaration "Bitvec *apBStack_180 [7];" type_identifier (pointer_declarator "*apBStack_180 [7]" * (array_declarator "apBStack_180 [7]" identifier [ number_literal ])) ;) (declaration "sqlite3_vfs *apsStack_164 [2];" type_identifier (pointer_declarator "*apsStack_164 [2]" * (array_declarator "apsStack_164 [2]" identifier [ number_literal ])) ;) (declaration "undefined2 auStack_15c [4];" type_identifier (array_declarator "auStack_15c [4]" identifier [ number_literal ]) ;) (declaration "sqlite3_vfs *psStack_154;" type_identifier (pointer_declarator "*psStack_154" * identifier) ;) (declaration "sqlite3_vfs *apsStack_150 [4];" type_identifier (pointer_declarator "*apsStack_150 [4]" * (array_declarator "apsStack_150 [4]" identifier [ number_literal ])) ;) (declaration "int aiStack_140 [4];" primitive_type (array_declarator "aiStack_140 [4]" identifier [ number_literal ]) ;) (declaration "byte abStack_130 [20];" type_identifier (array_declarator "abStack_130 [20]" identifier [ number_literal ]) ;) (declaration "byte abStack_11c [16];" type_identifier (array_declarator "abStack_11c [16]" identifier [ number_literal ]) ;) (declaration "u8 auStack_10c [4];" type_identifier (array_declarator "auStack_10c [4]" identifier [ number_literal ]) ;) (declaration "Pager *apPStack_108 [5];" type_identifier (pointer_declarator "*apPStack_108 [5]" * (array_declarator "apPStack_108 [5]" identifier [ number_literal ])) ;) (declaration "uint auStack_f4 [5];" type_identifier (array_declarator "auStack_f4 [5]" identifier [ number_literal ]) ;) (declaration "uint auStack_e0 [5];" type_identifier (array_declarator "auStack_e0 [5]" identifier [ number_literal ]) ;) (declaration "uint auStack_cc [16];" type_identifier (array_declarator "auStack_cc [16]" identifier [ number_literal ]) ;) (declaration "byte abStack_8c [68];" type_identifier (array_declarator "abStack_8c [68]" identifier [ number_literal ]) ;) (declaration "int rc;" primitive_type identifier ;) (declaration "undefined4 uStack_2c;" type_identifier identifier ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (expression_statement "pBVar52 = (Bitvec *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pBVar52 = (Bitvec *)PTR___stack_chk_guard_0015ba2c" identifier = (cast_expression "(Bitvec *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBVar53 = (Bitvec *)(uint)pPage->nOverflow;" (assignment_expression "pBVar53 = (Bitvec *)(uint)pPage->nOverflow" identifier = (cast_expression "(Bitvec *)(uint)pPage->nOverflow" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pPage->nOverflow" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->nOverflow" identifier -> field_identifier)))) ;) (expression_statement "uStack_2c = *(undefined4 *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "uStack_2c = *(undefined4 *)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(undefined4 *)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(undefined4 *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "cVar48 = SUB41(iChild >> 8,0);" (assignment_expression "cVar48 = SUB41(iChild >> 8,0)" identifier = (call_expression "SUB41(iChild >> 8,0)" identifier (argument_list "(iChild >> 8,0)" ( (binary_expression "iChild >> 8" identifier >> number_literal) , number_literal )))) ;) (expression_statement "cVar24 = SUB41(iChild >> 0x10,0);" (assignment_expression "cVar24 = SUB41(iChild >> 0x10,0)" identifier = (call_expression "SUB41(iChild >> 0x10,0)" identifier (argument_list "(iChild >> 0x10,0)" ( (binary_expression "iChild >> 0x10" identifier >> number_literal) , number_literal )))) ;) (expression_statement "cVar29 = SUB41(iChild >> 0x18,0);" (assignment_expression "cVar29 = SUB41(iChild >> 0x18,0)" identifier = (call_expression "SUB41(iChild >> 0x18,0)" identifier (argument_list "(iChild >> 0x18,0)" ( (binary_expression "iChild >> 0x18" identifier >> number_literal) , number_literal )))) ;) (expression_statement "pBVar51 = (Bitvec *)i;" (assignment_expression "pBVar51 = (Bitvec *)i" identifier = (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piStack_1d8 = (int *)pCell;" (assignment_expression "piStack_1d8 = (int *)pCell" identifier = (cast_expression "(int *)pCell" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar41 = (int *)sz;" (assignment_expression "piVar41 = (int *)sz" identifier = (cast_expression "(int *)sz" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((pBVar53 == (Bitvec *)0x0) && (sz + 1 < (int)(uint)pPage->nFree)) {\n    pTo = (Bitvec *)pPage->pDbPage;\n    iVar31 = sqlite3PagerWrite((PgHdr *)pTo);\n    if (iVar31 == 0) {\n      uVar30 = (uint)pPage->hdrOffset;\n      pcVar61 = (code *)pPage->aData;\n      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;\n      rc = 0;\n      pcVar44 = pcVar61 + uVar30 + 5;\n      pcVar43 = pcVar61 + uVar30 + 6;\n      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);\n      if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;\n      if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }\n      iChild = (Pgno)(pPage->aCellIdx + i * 2);\n      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);\n      pBVar51 = (Bitvec *)iChild;\n      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));\n      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;\n      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;\n      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);\n      pPage->nCell = pPage->nCell + 1;\n      uVar25 = *(u8 *)&pTo->iSize + '\x01';\n      *(u8 *)&pTo->iSize = uVar25;\n      if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }\n      if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }\n    }\n    else {\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }\n  }\n  else {\n    pBVar8 = (Bitvec *)pCell;\n    if (pTemp != (u8 *)0x0) {\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }\n    if (iChild != 0) {\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }\n    uVar30 = (uint)pPage->nOverflow;\n    pTo = (Bitvec *)(uVar30 + 1);\n    pPage->nOverflow = (u8)pTo;\n    pPage->apOvfl[uVar30] = (u8 *)pBVar8;\n    pPage->aiOvfl[uVar30] = (u16)i;\n    pCell = (u8 *)pBVar8;\n  }" if (parenthesized_expression "((pBVar53 == (Bitvec *)0x0) && (sz + 1 < (int)(uint)pPage->nFree))" ( (binary_expression "(pBVar53 == (Bitvec *)0x0) && (sz + 1 < (int)(uint)pPage->nFree)" (parenthesized_expression "(pBVar53 == (Bitvec *)0x0)" ( (binary_expression "pBVar53 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(sz + 1 < (int)(uint)pPage->nFree)" ( (binary_expression "sz + 1 < (int)(uint)pPage->nFree" (binary_expression "sz + 1" identifier + number_literal) < (cast_expression "(int)(uint)pPage->nFree" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)pPage->nFree" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->nFree" identifier -> field_identifier)))) ))) )) (compound_statement "{\n    pTo = (Bitvec *)pPage->pDbPage;\n    iVar31 = sqlite3PagerWrite((PgHdr *)pTo);\n    if (iVar31 == 0) {\n      uVar30 = (uint)pPage->hdrOffset;\n      pcVar61 = (code *)pPage->aData;\n      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;\n      rc = 0;\n      pcVar44 = pcVar61 + uVar30 + 5;\n      pcVar43 = pcVar61 + uVar30 + 6;\n      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);\n      if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;\n      if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }\n      iChild = (Pgno)(pPage->aCellIdx + i * 2);\n      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);\n      pBVar51 = (Bitvec *)iChild;\n      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));\n      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;\n      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;\n      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);\n      pPage->nCell = pPage->nCell + 1;\n      uVar25 = *(u8 *)&pTo->iSize + '\x01';\n      *(u8 *)&pTo->iSize = uVar25;\n      if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }\n      if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }\n    }\n    else {\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }\n  }" { (expression_statement "pTo = (Bitvec *)pPage->pDbPage;" (assignment_expression "pTo = (Bitvec *)pPage->pDbPage" identifier = (cast_expression "(Bitvec *)pPage->pDbPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPage->pDbPage" identifier -> field_identifier))) ;) (expression_statement "iVar31 = sqlite3PagerWrite((PgHdr *)pTo);" (assignment_expression "iVar31 = sqlite3PagerWrite((PgHdr *)pTo)" identifier = (call_expression "sqlite3PagerWrite((PgHdr *)pTo)" identifier (argument_list "((PgHdr *)pTo)" ( (cast_expression "(PgHdr *)pTo" ( (type_descriptor "PgHdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar31 == 0) {\n      uVar30 = (uint)pPage->hdrOffset;\n      pcVar61 = (code *)pPage->aData;\n      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;\n      rc = 0;\n      pcVar44 = pcVar61 + uVar30 + 5;\n      pcVar43 = pcVar61 + uVar30 + 6;\n      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);\n      if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;\n      if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }\n      iChild = (Pgno)(pPage->aCellIdx + i * 2);\n      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);\n      pBVar51 = (Bitvec *)iChild;\n      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));\n      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;\n      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;\n      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);\n      pPage->nCell = pPage->nCell + 1;\n      uVar25 = *(u8 *)&pTo->iSize + '\x01';\n      *(u8 *)&pTo->iSize = uVar25;\n      if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }\n      if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }\n    }\n    else {\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }" if (parenthesized_expression "(iVar31 == 0)" ( (binary_expression "iVar31 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar30 = (uint)pPage->hdrOffset;\n      pcVar61 = (code *)pPage->aData;\n      pBVar51 = (Bitvec *)(uint)pPage->cellOffset;\n      rc = 0;\n      pcVar44 = pcVar61 + uVar30 + 5;\n      pcVar43 = pcVar61 + uVar30 + 6;\n      unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);\n      if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;\n      if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }\n      iChild = (Pgno)(pPage->aCellIdx + i * 2);\n      piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);\n      pBVar51 = (Bitvec *)iChild;\n      (*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));\n      *(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;\n      *(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;\n      pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);\n      pPage->nCell = pPage->nCell + 1;\n      uVar25 = *(u8 *)&pTo->iSize + '\x01';\n      *(u8 *)&pTo->iSize = uVar25;\n      if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }\n      if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }\n    }" { (expression_statement "uVar30 = (uint)pPage->hdrOffset;" (assignment_expression "uVar30 = (uint)pPage->hdrOffset" identifier = (cast_expression "(uint)pPage->hdrOffset" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->hdrOffset" identifier -> field_identifier))) ;) (expression_statement "pcVar61 = (code *)pPage->aData;" (assignment_expression "pcVar61 = (code *)pPage->aData" identifier = (cast_expression "(code *)pPage->aData" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPage->aData" identifier -> field_identifier))) ;) (expression_statement "pBVar51 = (Bitvec *)(uint)pPage->cellOffset;" (assignment_expression "pBVar51 = (Bitvec *)(uint)pPage->cellOffset" identifier = (cast_expression "(Bitvec *)(uint)pPage->cellOffset" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pPage->cellOffset" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->cellOffset" identifier -> field_identifier)))) ;) (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "pcVar44 = pcVar61 + uVar30 + 5;" (assignment_expression "pcVar44 = pcVar61 + uVar30 + 5" identifier = (binary_expression "pcVar61 + uVar30 + 5" (binary_expression "pcVar61 + uVar30" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar43 = pcVar61 + uVar30 + 6;" (assignment_expression "pcVar43 = pcVar61 + uVar30 + 6" identifier = (binary_expression "pcVar61 + uVar30 + 6" (binary_expression "pcVar61 + uVar30" identifier + identifier) + number_literal)) ;) (expression_statement "unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2);" (assignment_expression "unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51->iSize + (uint)pPage->nCell * 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + (uint)pPage->nCell * 2)" ( (binary_expression "(int)&pBVar51->iSize + (uint)pPage->nCell * 2" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + (binary_expression "(uint)pPage->nCell * 2" (cast_expression "(uint)pPage->nCell" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->nCell" identifier -> field_identifier)) * number_literal)) )))) ;) (expression_statement "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43)" identifier = (cast_expression "(Elf32_Ehdr *)(uint)CONCAT11(*pcVar44,*pcVar43)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)CONCAT11(*pcVar44,*pcVar43)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*pcVar44,*pcVar43)" identifier (argument_list "(*pcVar44,*pcVar43)" ( (pointer_expression "*pcVar44" * identifier) , (pointer_expression "*pcVar43" * identifier) )))))) ;) (if_statement "if (unaff_s6 < unaff_s7) {\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }\n      else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }" if (parenthesized_expression "(unaff_s6 < unaff_s7)" ( (binary_expression "unaff_s6 < unaff_s7" identifier < identifier) )) (compound_statement "{\n        if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pTo = (Bitvec *)0xfcb0;\n        iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar31 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Bitvec *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pcVar9 = pcVar61;\n      }" { (if_statement "if (((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))\n        {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" if (parenthesized_expression "(((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000))" ( (binary_expression "((Bitvec *)unaff_s6 == (Bitvec *)0x0) &&\n           (pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000)" (parenthesized_expression "((Bitvec *)unaff_s6 == (Bitvec *)0x0)" ( (binary_expression "(Bitvec *)unaff_s6 == (Bitvec *)0x0" (cast_expression "(Bitvec *)unaff_s6" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000)" ( (comma_expression "pBVar51 = (Bitvec *)pPage->pBt->usableSize, pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000" (assignment_expression "pBVar51 = (Bitvec *)pPage->pBt->usableSize" identifier = (cast_expression "(Bitvec *)pPage->pBt->usableSize" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pPage->pBt->usableSize" (field_expression "pPage->pBt" identifier -> field_identifier) -> field_identifier))) , (binary_expression "pBVar51 == (Bitvec *)&Elf32_Ehdr_00010000" identifier == (cast_expression "(Bitvec *)&Elf32_Ehdr_00010000" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&Elf32_Ehdr_00010000" & identifier)))) ))) )) (compound_statement "{\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" { (expression_statement "unaff_s6 = &Elf32_Ehdr_00010000;" (assignment_expression "unaff_s6 = &Elf32_Ehdr_00010000" identifier = (pointer_expression "&Elf32_Ehdr_00010000" & identifier)) ;) (goto_statement "goto LAB_000a3e78;" goto statement_identifier ;) })) (expression_statement "pTo = (Bitvec *)0xfcb0;" (assignment_expression "pTo = (Bitvec *)0xfcb0" identifier = (cast_expression "(Bitvec *)0xfcb0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();" (assignment_expression "iVar31 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))()" identifier = (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x75c0)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x75c0)" ( (binary_expression "PTR_LAB_0015b740 + -0x75c0" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar31 != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(iVar31 != 0)" ( (binary_expression "iVar31 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) (expression_statement "unaff_s7 = (Bitvec *)0x0;" (assignment_expression "unaff_s7 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s6 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar9 = pcVar61;" (assignment_expression "pcVar9 = pcVar61" identifier = identifier) ;) }) (else_clause "else {\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }" else (compound_statement "{\nLAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);\n        pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n        *pcVar44 = SUB41((uint)unaff_s6 >> 8,0);\n        *pcVar43 = SUB41(unaff_s6,0);\n        pcVar9 = pcVar61 + (int)unaff_s6;\n      }" { (labeled_statement "LAB_000a3e78:\n        if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }" statement_identifier : (if_statement "if (((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)) {\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }" if (parenthesized_expression "(((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6))" ( (binary_expression "((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)) &&\n           ((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)" (parenthesized_expression "((pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0))" ( (binary_expression "(pcVar61[uVar30 + 2] != (code)0x0) || (pcVar61[uVar30 + 1] != (code)0x0)" (parenthesized_expression "(pcVar61[uVar30 + 2] != (code)0x0)" ( (binary_expression "pcVar61[uVar30 + 2] != (code)0x0" (subscript_expression "pcVar61[uVar30 + 2]" identifier [ (binary_expression "uVar30 + 2" identifier + number_literal) ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) || (parenthesized_expression "(pcVar61[uVar30 + 1] != (code)0x0)" ( (binary_expression "pcVar61[uVar30 + 1] != (code)0x0" (subscript_expression "pcVar61[uVar30 + 1]" identifier [ (binary_expression "uVar30 + 1" identifier + number_literal) ]) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ))) )) && (parenthesized_expression "((Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6)" ( (binary_expression "(Bitvec *)((int)&unaff_s7->iSize + 1) < unaff_s6" (cast_expression "(Bitvec *)((int)&unaff_s7->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->iSize + 1)" ( (binary_expression "(int)&unaff_s7->iSize + 1" (cast_expression "(int)&unaff_s7->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier))) + number_literal) ))) < identifier) ))) )) (compound_statement "{\n          piStack_1d8 = &rc;\n          pTo = (Bitvec *)pPage;\n          pBVar51 = (Bitvec *)sz;\n          pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n        }" { (expression_statement "piStack_1d8 = &rc;" (assignment_expression "piStack_1d8 = &rc" identifier = (pointer_expression "&rc" & identifier)) ;) (expression_statement "pTo = (Bitvec *)pPage;" (assignment_expression "pTo = (Bitvec *)pPage" identifier = (cast_expression "(Bitvec *)pPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBVar51 = (Bitvec *)sz;" (assignment_expression "pBVar51 = (Bitvec *)sz" identifier = (cast_expression "(Bitvec *)sz" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();" (assignment_expression "pcVar9 = (code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" identifier = (cast_expression "(code *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5a84)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x5a84)" ( (binary_expression "PTR_LAB_0015b740 + -0x5a84" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (pcVar9 != (code *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" if (parenthesized_expression "(pcVar9 != (code *)0x0)" ( (binary_expression "pcVar9 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);\n            pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" { (expression_statement "unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(pcVar9 + -(int)pcVar61)" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar9 + -(int)pcVar61)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + -(int)pcVar61)" ( (binary_expression "pcVar9 + -(int)pcVar61" identifier + (unary_expression "-(int)pcVar61" - (cast_expression "(int)pcVar61" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" identifier = (cast_expression "(Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6 * 0x10000)" ( (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff)" identifier = (cast_expression "(Bitvec *)((uint)unaff_s6 & 0xff)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s6 & 0xff)" ( (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (goto_statement "goto LAB_000a3ec4;" goto statement_identifier ;) })) (expression_statement "iVar31 = rc;" (assignment_expression "iVar31 = rc" identifier = identifier) ;) (if_statement "if (rc != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) }))) (if_statement "if ((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)) {\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }" if (parenthesized_expression "((int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2))" ( (binary_expression "(int)unaff_s6 < (int)((int)&unaff_s7->iSize + sz + 2)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)((int)&unaff_s7->iSize + sz + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&unaff_s7->iSize + sz + 2)" ( (binary_expression "(int)&unaff_s7->iSize + sz + 2" (binary_expression "(int)&unaff_s7->iSize + sz" (cast_expression "(int)&unaff_s7->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier))) + identifier) + number_literal) )))) )) (compound_statement "{\n          pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));\n          piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);\n          pBVar51 = (Bitvec *)&DAT_00000004;\n          if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }\n          pTo = (Bitvec *)pPage;\n          rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar31 = rc;\n          if (rc != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);\n        }" { (expression_statement "pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2));" (assignment_expression "pBVar8 = (Bitvec *)((uint)pPage->nFree - (sz + 2))" identifier = (cast_expression "(Bitvec *)((uint)pPage->nFree - (sz + 2))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pPage->nFree - (sz + 2))" ( (binary_expression "(uint)pPage->nFree - (sz + 2)" (cast_expression "(uint)pPage->nFree" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->nFree" identifier -> field_identifier)) - (parenthesized_expression "(sz + 2)" ( (binary_expression "sz + 2" identifier + number_literal) ))) )))) ;) (expression_statement "piStack_1d8 = (int *)(uint)((int)pBVar8 < 5);" (assignment_expression "piStack_1d8 = (int *)(uint)((int)pBVar8 < 5)" identifier = (cast_expression "(int *)(uint)((int)pBVar8 < 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)pBVar8 < 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pBVar8 < 5)" ( (binary_expression "(int)pBVar8 < 5" (cast_expression "(int)pBVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;) (expression_statement "pBVar51 = (Bitvec *)&DAT_00000004;" (assignment_expression "pBVar51 = (Bitvec *)&DAT_00000004" identifier = (cast_expression "(Bitvec *)&DAT_00000004" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (if_statement "if (piStack_1d8 != (int *)0x0) {\n            pBVar51 = pBVar8;\n          }" if (parenthesized_expression "(piStack_1d8 != (int *)0x0)" ( (binary_expression "piStack_1d8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pBVar51 = pBVar8;\n          }" { (expression_statement "pBVar51 = pBVar8;" (assignment_expression "pBVar51 = pBVar8" identifier = identifier) ;) })) (expression_statement "pTo = (Bitvec *)pPage;" (assignment_expression "pTo = (Bitvec *)pPage" identifier = (cast_expression "(Bitvec *)pPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))();" (assignment_expression "rc = (*(code *)(PTR_LAB_0015b740 + -0x5910))()" identifier = (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5910)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5910)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x5910)" ( (binary_expression "PTR_LAB_0015b740 + -0x5910" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar31 = rc;" (assignment_expression "iVar31 = rc" identifier = identifier) ;) (if_statement "if (rc != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1)" ( (binary_expression "(CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff) + 1" (parenthesized_expression "(CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff)" ( (binary_expression "CONCAT11(*pcVar44,*pcVar43) - 1 & 0xffff" (binary_expression "CONCAT11(*pcVar44,*pcVar43) - 1" (call_expression "CONCAT11(*pcVar44,*pcVar43)" identifier (argument_list "(*pcVar44,*pcVar43)" ( (pointer_expression "*pcVar44" * identifier) , (pointer_expression "*pcVar43" * identifier) ))) - number_literal) & number_literal) )) + number_literal) )))) ;) })) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - sz)" identifier = (cast_expression "(Elf32_Ehdr *)((int)unaff_s6 - sz)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 - sz)" ( (binary_expression "(int)unaff_s6 - sz" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pBVar53 = (Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" identifier = (cast_expression "(Bitvec *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6 * 0x10000)" ( (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Bitvec *)((uint)unaff_s6 & 0xff)" identifier = (cast_expression "(Bitvec *)((uint)unaff_s6 & 0xff)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s6 & 0xff)" ( (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "*pcVar44 = SUB41((uint)unaff_s6 >> 8,0);" (assignment_expression "*pcVar44 = SUB41((uint)unaff_s6 >> 8,0)" (pointer_expression "*pcVar44" * identifier) = (call_expression "SUB41((uint)unaff_s6 >> 8,0)" identifier (argument_list "((uint)unaff_s6 >> 8,0)" ( (binary_expression "(uint)unaff_s6 >> 8" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) , number_literal )))) ;) (expression_statement "*pcVar43 = SUB41(unaff_s6,0);" (assignment_expression "*pcVar43 = SUB41(unaff_s6,0)" (pointer_expression "*pcVar43" * identifier) = (call_expression "SUB41(unaff_s6,0)" identifier (argument_list "(unaff_s6,0)" ( identifier , number_literal )))) ;) (expression_statement "pcVar9 = pcVar61 + (int)unaff_s6;" (assignment_expression "pcVar9 = pcVar61 + (int)unaff_s6" identifier = (binary_expression "pcVar61 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (labeled_statement "LAB_000a3ec4:\n      pPage->nFree = (pPage->nFree - (short)sz) - 2;" statement_identifier : (expression_statement "pPage->nFree = (pPage->nFree - (short)sz) - 2;" (assignment_expression "pPage->nFree = (pPage->nFree - (short)sz) - 2" (field_expression "pPage->nFree" identifier -> field_identifier) = (binary_expression "(pPage->nFree - (short)sz) - 2" (parenthesized_expression "(pPage->nFree - (short)sz)" ( (binary_expression "pPage->nFree - (short)sz" (field_expression "pPage->nFree" identifier -> field_identifier) - (cast_expression "(short)sz" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )) - number_literal)) ;)) (if_statement "if (iChild == 0) {\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }" if (parenthesized_expression "(iChild == 0)" ( (binary_expression "iChild == 0" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);\n        piVar41 = (int *)sz;\n      }" { (expression_statement "(*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz);" (call_expression "(*(code *)PTR_memcpy_0015ba30)(pcVar9,pCell,sz)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,pCell,sz)" ( identifier , identifier , identifier ))) ;) (expression_statement "piVar41 = (int *)sz;" (assignment_expression "piVar41 = (int *)sz" identifier = (cast_expression "(int *)sz" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }" else (compound_statement "{\n        unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;\n        (*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);\n        pcVar9[3] = SUB41(iChild,0);\n        *pcVar9 = cVar29;\n        pcVar9[1] = cVar24;\n        pcVar9[2] = cVar48;\n        piVar41 = (int *)sz;\n      }" { (expression_statement "unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet" identifier = (cast_expression "(Elf32_Ehdr *)&((Bitvec *)unaff_s6)->nSet" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Bitvec *)unaff_s6)->nSet" & (field_expression "((Bitvec *)unaff_s6)->nSet" (parenthesized_expression "((Bitvec *)unaff_s6)" ( (cast_expression "(Bitvec *)unaff_s6" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) ;) (expression_statement "(*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4);" (call_expression "(*(code *)PTR_memcpy_0015ba30)(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar61 + (int)unaff_s6,pCell + 4,sz + -4)" ( (binary_expression "pcVar61 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "pCell + 4" identifier + number_literal) , (binary_expression "sz + -4" identifier + number_literal) ))) ;) (expression_statement "pcVar9[3] = SUB41(iChild,0);" (assignment_expression "pcVar9[3] = SUB41(iChild,0)" (subscript_expression "pcVar9[3]" identifier [ number_literal ]) = (call_expression "SUB41(iChild,0)" identifier (argument_list "(iChild,0)" ( identifier , number_literal )))) ;) (expression_statement "*pcVar9 = cVar29;" (assignment_expression "*pcVar9 = cVar29" (pointer_expression "*pcVar9" * identifier) = identifier) ;) (expression_statement "pcVar9[1] = cVar24;" (assignment_expression "pcVar9[1] = cVar24" (subscript_expression "pcVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar9[2] = cVar48;" (assignment_expression "pcVar9[2] = cVar48" (subscript_expression "pcVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar41 = (int *)sz;" (assignment_expression "piVar41 = (int *)sz" identifier = (cast_expression "(int *)sz" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "iChild = (Pgno)(pPage->aCellIdx + i * 2);" (assignment_expression "iChild = (Pgno)(pPage->aCellIdx + i * 2)" identifier = (call_expression "(Pgno)(pPage->aCellIdx + i * 2)" (parenthesized_expression "(Pgno)" ( identifier )) (argument_list "(pPage->aCellIdx + i * 2)" ( (binary_expression "pPage->aCellIdx + i * 2" (field_expression "pPage->aCellIdx" identifier -> field_identifier) + (binary_expression "i * 2" identifier * number_literal)) )))) ;) (expression_statement "piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2);" (assignment_expression "piStack_1d8 = (int *)(((uint)pPage->nCell - i) * 2)" identifier = (cast_expression "(int *)(((uint)pPage->nCell - i) * 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)pPage->nCell - i) * 2)" ( (binary_expression "((uint)pPage->nCell - i) * 2" (parenthesized_expression "((uint)pPage->nCell - i)" ( (binary_expression "(uint)pPage->nCell - i" (cast_expression "(uint)pPage->nCell" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->nCell" identifier -> field_identifier)) - identifier) )) * number_literal) )))) ;) (expression_statement "pBVar51 = (Bitvec *)iChild;" (assignment_expression "pBVar51 = (Bitvec *)iChild" identifier = (cast_expression "(Bitvec *)iChild" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2));" (call_expression "(*(code *)PTR_memmove_0015ba3c)((byte *)((int)&((Bitvec *)iChild)->iSize + 2))" (parenthesized_expression "(*(code *)PTR_memmove_0015ba3c)" ( (pointer_expression "*(code *)PTR_memmove_0015ba3c" * (cast_expression "(code *)PTR_memmove_0015ba3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((byte *)((int)&((Bitvec *)iChild)->iSize + 2))" ( (cast_expression "(byte *)((int)&((Bitvec *)iChild)->iSize + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Bitvec *)iChild)->iSize + 2)" ( (binary_expression "(int)&((Bitvec *)iChild)->iSize + 2" (cast_expression "(int)&((Bitvec *)iChild)->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)iChild)->iSize" & (field_expression "((Bitvec *)iChild)->iSize" (parenthesized_expression "((Bitvec *)iChild)" ( (cast_expression "(Bitvec *)iChild" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) ))) ))) ;) (expression_statement "*(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53;" (assignment_expression "*(byte *)&((Bitvec *)iChild)->iSize = (byte)pBVar53" (pointer_expression "*(byte *)&((Bitvec *)iChild)->iSize" * (cast_expression "(byte *)&((Bitvec *)iChild)->iSize" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Bitvec *)iChild)->iSize" & (field_expression "((Bitvec *)iChild)->iSize" (parenthesized_expression "((Bitvec *)iChild)" ( (cast_expression "(Bitvec *)iChild" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)))) = (cast_expression "(byte)pBVar53" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7;" (assignment_expression "*(byte *)((int)&((Bitvec *)iChild)->iSize + 1) = (byte)unaff_s7" (pointer_expression "*(byte *)((int)&((Bitvec *)iChild)->iSize + 1)" * (cast_expression "(byte *)((int)&((Bitvec *)iChild)->iSize + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Bitvec *)iChild)->iSize + 1)" ( (binary_expression "(int)&((Bitvec *)iChild)->iSize + 1" (cast_expression "(int)&((Bitvec *)iChild)->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)iChild)->iSize" & (field_expression "((Bitvec *)iChild)->iSize" (parenthesized_expression "((Bitvec *)iChild)" ( (cast_expression "(Bitvec *)iChild" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) = (cast_expression "(byte)unaff_s7" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4);" (assignment_expression "pTo = (Bitvec *)(pcVar61 + pPage->hdrOffset + 4)" identifier = (cast_expression "(Bitvec *)(pcVar61 + pPage->hdrOffset + 4)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar61 + pPage->hdrOffset + 4)" ( (binary_expression "pcVar61 + pPage->hdrOffset + 4" (binary_expression "pcVar61 + pPage->hdrOffset" identifier + (field_expression "pPage->hdrOffset" identifier -> field_identifier)) + number_literal) )))) ;) (expression_statement "pPage->nCell = pPage->nCell + 1;" (assignment_expression "pPage->nCell = pPage->nCell + 1" (field_expression "pPage->nCell" identifier -> field_identifier) = (binary_expression "pPage->nCell + 1" (field_expression "pPage->nCell" identifier -> field_identifier) + number_literal)) ;) (expression_statement "uVar25 = *(u8 *)&pTo->iSize + '\x01';" (assignment_expression "uVar25 = *(u8 *)&pTo->iSize + '\x01'" identifier = (binary_expression "*(u8 *)&pTo->iSize + '\x01'" (pointer_expression "*(u8 *)&pTo->iSize" * (cast_expression "(u8 *)&pTo->iSize" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTo->iSize" & (field_expression "pTo->iSize" identifier -> field_identifier)))) + (char_literal "'\x01'" ' escape_sequence '))) ;) (expression_statement "*(u8 *)&pTo->iSize = uVar25;" (assignment_expression "*(u8 *)&pTo->iSize = uVar25" (pointer_expression "*(u8 *)&pTo->iSize" * (cast_expression "(u8 *)&pTo->iSize" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTo->iSize" & (field_expression "pTo->iSize" identifier -> field_identifier)))) = identifier) ;) (if_statement "if (uVar25 == '\0') {\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }" if (parenthesized_expression "(uVar25 == '\0')" ( (binary_expression "uVar25 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');\n      }" { (expression_statement "pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01');" (assignment_expression "pcVar61[pPage->hdrOffset + 3] = (code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01')" (subscript_expression "pcVar61[pPage->hdrOffset + 3]" identifier [ (binary_expression "pPage->hdrOffset + 3" (field_expression "pPage->hdrOffset" identifier -> field_identifier) + number_literal) ]) = (call_expression "(code)((char)pcVar61[pPage->hdrOffset + 3] + '\x01')" (parenthesized_expression "(code)" ( identifier )) (argument_list "((char)pcVar61[pPage->hdrOffset + 3] + '\x01')" ( (binary_expression "(char)pcVar61[pPage->hdrOffset + 3] + '\x01'" (cast_expression "(char)pcVar61[pPage->hdrOffset + 3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pcVar61[pPage->hdrOffset + 3]" identifier [ (binary_expression "pPage->hdrOffset + 3" (field_expression "pPage->hdrOffset" identifier -> field_identifier) + number_literal) ])) + (char_literal "'\x01'" ' escape_sequence ')) )))) ;) })) (if_statement "if (pPage->pBt->autoVacuum != '\0') {\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }" if (parenthesized_expression "(pPage->pBt->autoVacuum != '\0')" ( (binary_expression "pPage->pBt->autoVacuum != '\0'" (field_expression "pPage->pBt->autoVacuum" (field_expression "pPage->pBt" identifier -> field_identifier) -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pBVar51 = (Bitvec *)&pPage->aDataEnd;\n        pTo = (Bitvec *)pPage;\n        piStack_1d8 = (int *)pCell;\n        piVar41 = pRC;\n        ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);\n      }" { (expression_statement "pBVar51 = (Bitvec *)&pPage->aDataEnd;" (assignment_expression "pBVar51 = (Bitvec *)&pPage->aDataEnd" identifier = (cast_expression "(Bitvec *)&pPage->aDataEnd" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPage->aDataEnd" & (field_expression "pPage->aDataEnd" identifier -> field_identifier)))) ;) (expression_statement "pTo = (Bitvec *)pPage;" (assignment_expression "pTo = (Bitvec *)pPage" identifier = (cast_expression "(Bitvec *)pPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piStack_1d8 = (int *)pCell;" (assignment_expression "piStack_1d8 = (int *)pCell" identifier = (cast_expression "(int *)pCell" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar41 = pRC;" (assignment_expression "piVar41 = pRC" identifier = identifier) ;) (expression_statement "ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC);" (call_expression "ptrmapPutOvflPtr(pPage,(MemPage *)pBVar51,pCell,pRC)" identifier (argument_list "(pPage,(MemPage *)pBVar51,pCell,pRC)" ( identifier , (cast_expression "(MemPage *)pBVar51" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) })) }) (else_clause "else {\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }" else (compound_statement "{\nLAB_000a3fdc:\n      *pRC = iVar31;\n    }" { (labeled_statement "LAB_000a3fdc:\n      *pRC = iVar31;" statement_identifier : (expression_statement "*pRC = iVar31;" (assignment_expression "*pRC = iVar31" (pointer_expression "*pRC" * identifier) = identifier) ;)) }))) }) (else_clause "else {\n    pBVar8 = (Bitvec *)pCell;\n    if (pTemp != (u8 *)0x0) {\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }\n    if (iChild != 0) {\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }\n    uVar30 = (uint)pPage->nOverflow;\n    pTo = (Bitvec *)(uVar30 + 1);\n    pPage->nOverflow = (u8)pTo;\n    pPage->apOvfl[uVar30] = (u8 *)pBVar8;\n    pPage->aiOvfl[uVar30] = (u16)i;\n    pCell = (u8 *)pBVar8;\n  }" else (compound_statement "{\n    pBVar8 = (Bitvec *)pCell;\n    if (pTemp != (u8 *)0x0) {\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }\n    if (iChild != 0) {\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }\n    uVar30 = (uint)pPage->nOverflow;\n    pTo = (Bitvec *)(uVar30 + 1);\n    pPage->nOverflow = (u8)pTo;\n    pPage->apOvfl[uVar30] = (u8 *)pBVar8;\n    pPage->aiOvfl[uVar30] = (u16)i;\n    pCell = (u8 *)pBVar8;\n  }" { (expression_statement "pBVar8 = (Bitvec *)pCell;" (assignment_expression "pBVar8 = (Bitvec *)pCell" identifier = (cast_expression "(Bitvec *)pCell" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pTemp != (u8 *)0x0) {\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }" if (parenthesized_expression "(pTemp != (u8 *)0x0)" ( (binary_expression "pTemp != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);\n      pBVar51 = (Bitvec *)pCell;\n      piStack_1d8 = (int *)sz;\n    }" { (expression_statement "pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp);" (assignment_expression "pBVar8 = (Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp)" identifier = (cast_expression "(Bitvec *)(*(code *)PTR_memcpy_0015ba30)(pTemp)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_0015ba30)(pTemp)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pTemp)" ( identifier ))))) ;) (expression_statement "pBVar51 = (Bitvec *)pCell;" (assignment_expression "pBVar51 = (Bitvec *)pCell" identifier = (cast_expression "(Bitvec *)pCell" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piStack_1d8 = (int *)sz;" (assignment_expression "piStack_1d8 = (int *)sz" identifier = (cast_expression "(int *)sz" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (if_statement "if (iChild != 0) {\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }" if (parenthesized_expression "(iChild != 0)" ( (binary_expression "iChild != 0" identifier != number_literal) )) (compound_statement "{\n      *(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);\n      iChild = iChild >> 8;\n      *(code *)&pBVar8->iSize = cVar29;\n      *(code *)((int)&pBVar8->iSize + 1) = cVar24;\n      *(code *)((int)&pBVar8->iSize + 2) = cVar48;\n    }" { (expression_statement "*(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0);" (assignment_expression "*(code *)((int)&pBVar8->iSize + 3) = SUB41(iChild,0)" (pointer_expression "*(code *)((int)&pBVar8->iSize + 3)" * (cast_expression "(code *)((int)&pBVar8->iSize + 3)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar8->iSize + 3)" ( (binary_expression "(int)&pBVar8->iSize + 3" (cast_expression "(int)&pBVar8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar8->iSize" & (field_expression "pBVar8->iSize" identifier -> field_identifier))) + number_literal) )))) = (call_expression "SUB41(iChild,0)" identifier (argument_list "(iChild,0)" ( identifier , number_literal )))) ;) (expression_statement "iChild = iChild >> 8;" (assignment_expression "iChild = iChild >> 8" identifier = (binary_expression "iChild >> 8" identifier >> number_literal)) ;) (expression_statement "*(code *)&pBVar8->iSize = cVar29;" (assignment_expression "*(code *)&pBVar8->iSize = cVar29" (pointer_expression "*(code *)&pBVar8->iSize" * (cast_expression "(code *)&pBVar8->iSize" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar8->iSize" & (field_expression "pBVar8->iSize" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(code *)((int)&pBVar8->iSize + 1) = cVar24;" (assignment_expression "*(code *)((int)&pBVar8->iSize + 1) = cVar24" (pointer_expression "*(code *)((int)&pBVar8->iSize + 1)" * (cast_expression "(code *)((int)&pBVar8->iSize + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar8->iSize + 1)" ( (binary_expression "(int)&pBVar8->iSize + 1" (cast_expression "(int)&pBVar8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar8->iSize" & (field_expression "pBVar8->iSize" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(code *)((int)&pBVar8->iSize + 2) = cVar48;" (assignment_expression "*(code *)((int)&pBVar8->iSize + 2) = cVar48" (pointer_expression "*(code *)((int)&pBVar8->iSize + 2)" * (cast_expression "(code *)((int)&pBVar8->iSize + 2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar8->iSize + 2)" ( (binary_expression "(int)&pBVar8->iSize + 2" (cast_expression "(int)&pBVar8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar8->iSize" & (field_expression "pBVar8->iSize" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) })) (expression_statement "uVar30 = (uint)pPage->nOverflow;" (assignment_expression "uVar30 = (uint)pPage->nOverflow" identifier = (cast_expression "(uint)pPage->nOverflow" ( (type_descriptor "uint" type_identifier) ) (field_expression "pPage->nOverflow" identifier -> field_identifier))) ;) (expression_statement "pTo = (Bitvec *)(uVar30 + 1);" (assignment_expression "pTo = (Bitvec *)(uVar30 + 1)" identifier = (cast_expression "(Bitvec *)(uVar30 + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar30 + 1)" ( (binary_expression "uVar30 + 1" identifier + number_literal) )))) ;) (expression_statement "pPage->nOverflow = (u8)pTo;" (assignment_expression "pPage->nOverflow = (u8)pTo" (field_expression "pPage->nOverflow" identifier -> field_identifier) = (cast_expression "(u8)pTo" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "pPage->apOvfl[uVar30] = (u8 *)pBVar8;" (assignment_expression "pPage->apOvfl[uVar30] = (u8 *)pBVar8" (subscript_expression "pPage->apOvfl[uVar30]" (field_expression "pPage->apOvfl" identifier -> field_identifier) [ identifier ]) = (cast_expression "(u8 *)pBVar8" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pPage->aiOvfl[uVar30] = (u16)i;" (assignment_expression "pPage->aiOvfl[uVar30] = (u16)i" (subscript_expression "pPage->aiOvfl[uVar30]" (field_expression "pPage->aiOvfl" identifier -> field_identifier) [ identifier ]) = (cast_expression "(u16)i" ( (type_descriptor "u16" type_identifier) ) identifier)) ;) (expression_statement "pCell = (u8 *)pBVar8;" (assignment_expression "pCell = (u8 *)pBVar8" identifier = (cast_expression "(u8 *)pBVar8" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (if_statement "if (uStack_2c == pBVar52->iSize) {\n    return;\n  }" if (parenthesized_expression "(uStack_2c == pBVar52->iSize)" ( (binary_expression "uStack_2c == pBVar52->iSize" identifier == (field_expression "pBVar52->iSize" identifier -> field_identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar61 = balance_nonroot;" (assignment_expression "pcVar61 = balance_nonroot" identifier = identifier) ;) (expression_statement "puVar57 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar57 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pPVar10 = *(Pgno **)(puVar57 + 0xb790c);" (assignment_expression "pPVar10 = *(Pgno **)(puVar57 + 0xb790c)" identifier = (pointer_expression "*(Pgno **)(puVar57 + 0xb790c)" * (cast_expression "(Pgno **)(puVar57 + 0xb790c)" ( (type_descriptor "Pgno **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb790c)" ( (binary_expression "puVar57 + 0xb790c" identifier + number_literal) ))))) ;) (expression_statement "abStack_8c._44_4_ = pRC;" (assignment_expression "abStack_8c._44_4_ = pRC" (field_expression "abStack_8c._44_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._24_4_ = pBVar52;" (assignment_expression "abStack_8c._24_4_ = pBVar52" (field_expression "abStack_8c._24_4_" identifier . field_identifier) = identifier) ;) (expression_statement "pBStack_188 = (Bitvec *)0x0;" (assignment_expression "pBStack_188 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "abStack_8c._0_4_ = (Wal *)0x0;" (assignment_expression "abStack_8c._0_4_ = (Wal *)0x0" (field_expression "abStack_8c._0_4_" identifier . field_identifier) = (cast_expression "(Wal *)0x0" ( (type_descriptor "Wal *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "abStack_8c[4] = '\0';" (assignment_expression "abStack_8c[4] = '\0'" (subscript_expression "abStack_8c[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "auStack_cc[0] = 0;" (assignment_expression "auStack_cc[0] = 0" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "auStack_cc[2] = 0;" (assignment_expression "auStack_cc[2] = 0" (subscript_expression "auStack_cc[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "abStack_8c._8_4_ = *pPVar10;" (assignment_expression "abStack_8c._8_4_ = *pPVar10" (field_expression "abStack_8c._8_4_" identifier . field_identifier) = (pointer_expression "*pPVar10" * identifier)) ;) (expression_statement "pBVar8 = (pTo->u).apSub[10];" (assignment_expression "pBVar8 = (pTo->u).apSub[10]" identifier = (subscript_expression "(pTo->u).apSub[10]" (field_expression "(pTo->u).apSub" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "abStack_8c._12_4_ = pPage;" (assignment_expression "abStack_8c._12_4_ = pPage" (field_expression "abStack_8c._12_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._16_4_ = iChild;" (assignment_expression "abStack_8c._16_4_ = iChild" (field_expression "abStack_8c._16_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._20_4_ = pCell;" (assignment_expression "abStack_8c._20_4_ = pCell" (field_expression "abStack_8c._20_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._28_4_ = pBVar53;" (assignment_expression "abStack_8c._28_4_ = pBVar53" (field_expression "abStack_8c._28_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._32_4_ = i;" (assignment_expression "abStack_8c._32_4_ = i" (field_expression "abStack_8c._32_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._36_4_ = unaff_s6;" (assignment_expression "abStack_8c._36_4_ = unaff_s6" (field_expression "abStack_8c._36_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._40_4_ = unaff_s7;" (assignment_expression "abStack_8c._40_4_ = unaff_s7" (field_expression "abStack_8c._40_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._48_4_ = pcVar61;" (assignment_expression "abStack_8c._48_4_ = pcVar61" (field_expression "abStack_8c._48_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._56_4_ = pBVar51;" (assignment_expression "abStack_8c._56_4_ = pBVar51" (field_expression "abStack_8c._56_4_" identifier . field_identifier) = identifier) ;) (expression_statement "abStack_8c._64_4_ = piVar41;" (assignment_expression "abStack_8c._64_4_ = piVar41" (field_expression "abStack_8c._64_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (piStack_1d8 == (int *)0x0) goto LAB_000a44d0;" if (parenthesized_expression "(piStack_1d8 == (int *)0x0)" ( (binary_expression "piStack_1d8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a44d0;" goto statement_identifier ;)) (expression_statement "uVar30 = (uint)*(u16 *)((int)&pTo->u + 10);" (assignment_expression "uVar30 = (uint)*(u16 *)((int)&pTo->u + 10)" identifier = (binary_expression "(uint)*(u16 *)((int)&pTo->u + 10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(u16 *)((int)&pTo->u + 10)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTo->u + 10)" ( (binary_expression "(int)&pTo->u + 10" (cast_expression "(int)&pTo->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTo->u" & (field_expression "pTo->u" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBVar53 = (Bitvec *)((pTo->u).aBitmap[0] + uVar30);" (assignment_expression "pBVar53 = (Bitvec *)((pTo->u).aBitmap[0] + uVar30)" identifier = (cast_expression "(Bitvec *)((pTo->u).aBitmap[0] + uVar30)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pTo->u).aBitmap[0] + uVar30)" ( (binary_expression "(pTo->u).aBitmap[0] + uVar30" (subscript_expression "(pTo->u).aBitmap[0]" (field_expression "(pTo->u).aBitmap" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + identifier) )))) ;) (if_statement "if (pBVar53 < (Bitvec *)0x2) {\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    abStack_8c._56_4_ = (Bitvec *)0x0;\n    pBStack_1d4 = pBVar53;\nLAB_000a49d0:\n    pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);\n  }\n  else {\n    pBStack_1d4 = (Bitvec *)0xffe9ca52;\n    pBVar54 = pBStack_1d4;\n    if (pBVar51 != (Bitvec *)0x0) {\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }\n    uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    if (uVar30 == uVar26) goto LAB_000a49d0;\n    uVar2 = *(u16 *)((int)&pTo->u + 0xc);\n    uVar30 = (uint)uVar2;\n    pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));\n  }" if (parenthesized_expression "(pBVar53 < (Bitvec *)0x2)" ( (binary_expression "pBVar53 < (Bitvec *)0x2" identifier < (cast_expression "(Bitvec *)0x2" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    abStack_8c._56_4_ = (Bitvec *)0x0;\n    pBStack_1d4 = pBVar53;\nLAB_000a49d0:\n    pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);\n  }" { (expression_statement "puVar11 = (u8 *)(pTo->u).apSub[0xb];" (assignment_expression "puVar11 = (u8 *)(pTo->u).apSub[0xb]" identifier = (cast_expression "(u8 *)(pTo->u).apSub[0xb]" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pTo->u).apSub[0xb]" (field_expression "(pTo->u).apSub" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "abStack_8c._56_4_ = (Bitvec *)0x0;" (assignment_expression "abStack_8c._56_4_ = (Bitvec *)0x0" (field_expression "abStack_8c._56_4_" identifier . field_identifier) = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBStack_1d4 = pBVar53;" (assignment_expression "pBStack_1d4 = pBVar53" identifier = identifier) ;) (labeled_statement "LAB_000a49d0:\n    pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);" statement_identifier : (expression_statement "pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8);" (assignment_expression "pBStack_1c8 = (Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8)" identifier = (cast_expression "(Bitvec *)(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8)" ( (binary_expression "puVar11 + *(u8 *)((int)&pTo->iDivisor + 1) + 8" (binary_expression "puVar11 + *(u8 *)((int)&pTo->iDivisor + 1)" identifier + (pointer_expression "*(u8 *)((int)&pTo->iDivisor + 1)" * (cast_expression "(u8 *)((int)&pTo->iDivisor + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTo->iDivisor + 1)" ( (binary_expression "(int)&pTo->iDivisor + 1" (cast_expression "(int)&pTo->iDivisor" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTo->iDivisor" & (field_expression "pTo->iDivisor" identifier -> field_identifier))) + number_literal) ))))) + number_literal) )))) ;)) }) (else_clause "else {\n    pBStack_1d4 = (Bitvec *)0xffe9ca52;\n    pBVar54 = pBStack_1d4;\n    if (pBVar51 != (Bitvec *)0x0) {\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }\n    uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    if (uVar30 == uVar26) goto LAB_000a49d0;\n    uVar2 = *(u16 *)((int)&pTo->u + 0xc);\n    uVar30 = (uint)uVar2;\n    pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));\n  }" else (compound_statement "{\n    pBStack_1d4 = (Bitvec *)0xffe9ca52;\n    pBVar54 = pBStack_1d4;\n    if (pBVar51 != (Bitvec *)0x0) {\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }\n    uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];\n    puVar11 = (u8 *)(pTo->u).apSub[0xb];\n    if (uVar30 == uVar26) goto LAB_000a49d0;\n    uVar2 = *(u16 *)((int)&pTo->u + 0xc);\n    uVar30 = (uint)uVar2;\n    pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));\n  }" { (expression_statement "pBStack_1d4 = (Bitvec *)0xffe9ca52;" (assignment_expression "pBStack_1d4 = (Bitvec *)0xffe9ca52" identifier = (cast_expression "(Bitvec *)0xffe9ca52" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar54 = pBStack_1d4;" (assignment_expression "pBVar54 = pBStack_1d4" identifier = identifier) ;) (if_statement "if (pBVar51 != (Bitvec *)0x0) {\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }" if (parenthesized_expression "(pBVar51 != (Bitvec *)0x0)" ( (binary_expression "pBVar51 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }\n    }" { (if_statement "if (pBVar53 == pBVar51) {\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }\n      else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }" if (parenthesized_expression "(pBVar53 == pBVar51)" ( (binary_expression "pBVar53 == pBVar51" identifier == identifier) )) (compound_statement "{\n        pBVar54 = pBVar51;\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);\n      }" { (expression_statement "pBVar54 = pBVar51;" (assignment_expression "pBVar54 = pBVar51" identifier = identifier) ;) (expression_statement "abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2);" (assignment_expression "abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2)" (field_expression "abStack_8c._56_4_" identifier . field_identifier) = (cast_expression "(Bitvec *)((int)&pBVar51[0xb1a].u + 0x1a2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[0xb1a].u + 0x1a2)" ( (binary_expression "(int)&pBVar51[0xb1a].u + 0x1a2" (cast_expression "(int)&pBVar51[0xb1a].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[0xb1a].u" & (field_expression "pBVar51[0xb1a].u" (subscript_expression "pBVar51[0xb1a]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) }) (else_clause "else {\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }" else (compound_statement "{\n        pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);\n        abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      }" { (expression_statement "pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45);" (assignment_expression "pBVar54 = (Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51[-0xb1b].u + 0x45)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[-0xb1b].u + 0x45)" ( (binary_expression "(int)&pBVar51[-0xb1b].u + 0x45" (cast_expression "(int)&pBVar51[-0xb1b].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[-0xb1b].u" & (field_expression "pBVar51[-0xb1b].u" (subscript_expression "pBVar51[-0xb1b]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499);" (assignment_expression "abStack_8c._56_4_ = (Bitvec *)((int)&pBVar51[-1].u + 499)" (field_expression "abStack_8c._56_4_" identifier . field_identifier) = (cast_expression "(Bitvec *)((int)&pBVar51[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[-1].u + 499)" ( (binary_expression "(int)&pBVar51[-1].u + 499" (cast_expression "(int)&pBVar51[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[-1].u" & (field_expression "pBVar51[-1].u" (subscript_expression "pBVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) }))) })) (expression_statement "uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0];" (assignment_expression "uVar26 = (int)pBVar54 - (uint)(pTo->u).aBitmap[0]" identifier = (binary_expression "(int)pBVar54 - (uint)(pTo->u).aBitmap[0]" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "(uint)(pTo->u).aBitmap[0]" (field_expression "(uint)(pTo->u).aBitmap" (call_expression "(uint)(pTo->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ]))) ;) (expression_statement "puVar11 = (u8 *)(pTo->u).apSub[0xb];" (assignment_expression "puVar11 = (u8 *)(pTo->u).apSub[0xb]" identifier = (cast_expression "(u8 *)(pTo->u).apSub[0xb]" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pTo->u).apSub[0xb]" (field_expression "(pTo->u).apSub" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if (uVar30 == uVar26) goto LAB_000a49d0;" if (parenthesized_expression "(uVar30 == uVar26)" ( (binary_expression "uVar30 == uVar26" identifier == identifier) )) (goto_statement "goto LAB_000a49d0;" goto statement_identifier ;)) (expression_statement "uVar2 = *(u16 *)((int)&pTo->u + 0xc);" (assignment_expression "uVar2 = *(u16 *)((int)&pTo->u + 0xc)" identifier = (pointer_expression "*(u16 *)((int)&pTo->u + 0xc)" * (cast_expression "(u16 *)((int)&pTo->u + 0xc)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTo->u + 0xc)" ( (binary_expression "(int)&pTo->u + 0xc" (cast_expression "(int)&pTo->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTo->u" & (field_expression "pTo->u" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar30 = (uint)uVar2;" (assignment_expression "uVar30 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2));" (assignment_expression "pBStack_1c8 = (Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2))" identifier = (cast_expression "(Bitvec *)\n                  (puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2))" ( (binary_expression "puVar11 + (*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2)" identifier + (parenthesized_expression "(*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2)" ( (binary_expression "*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2) & uVar2" (pointer_expression "*(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2)" * (cast_expression "(ushort *)((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((u8 *)(pTo->u).aHash[0xd] + uVar26 * 2)" ( (binary_expression "(u8 *)(pTo->u).aHash[0xd] + uVar26 * 2" (cast_expression "(u8 *)(pTo->u).aHash[0xd]" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pTo->u).aHash[0xd]" (field_expression "(pTo->u).aHash" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) + (binary_expression "uVar26 * 2" identifier * number_literal)) )))) & identifier) ))) )))) ;) }))) (expression_statement "ppsStack_1dc = apsStack_164 + 5;" (assignment_expression "ppsStack_1dc = apsStack_164 + 5" identifier = (binary_expression "apsStack_164 + 5" identifier + number_literal)) ;) (expression_statement "pBStack_1c4 = (Bitvec *)apsStack_164;" (assignment_expression "pBStack_1c4 = (Bitvec *)apsStack_164" identifier = (cast_expression "(Bitvec *)apsStack_164" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppBStack_1e0 = &pBStack_188;" (assignment_expression "ppBStack_1e0 = &pBStack_188" identifier = (pointer_expression "&pBStack_188" & identifier)) ;) (expression_statement "iStack_1d0 = (int)pBStack_1d4 * 4;" (assignment_expression "iStack_1d0 = (int)pBStack_1d4 * 4" identifier = (binary_expression "(int)pBStack_1d4 * 4" (cast_expression "(int)pBStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "uVar26 = (uint)pBStack_1c8 & 3;" (assignment_expression "uVar26 = (uint)pBStack_1c8 & 3" identifier = (binary_expression "(uint)pBStack_1c8 & 3" (cast_expression "(uint)pBStack_1c8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppsVar17 = ppsStack_1dc + (int)pBStack_1d4;" (assignment_expression "ppsVar17 = ppsStack_1dc + (int)pBStack_1d4" identifier = (binary_expression "ppsStack_1dc + (int)pBStack_1d4" identifier + (cast_expression "(int)pBStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "ppsVar49 = (sqlite3_vfs **)(&pBStack_1c4->iSize + (int)pBStack_1d4);" (assignment_expression "ppsVar49 = (sqlite3_vfs **)(&pBStack_1c4->iSize + (int)pBStack_1d4)" identifier = (cast_expression "(sqlite3_vfs **)(&pBStack_1c4->iSize + (int)pBStack_1d4)" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&pBStack_1c4->iSize + (int)pBStack_1d4)" ( (binary_expression "&pBStack_1c4->iSize + (int)pBStack_1d4" (pointer_expression "&pBStack_1c4->iSize" & (field_expression "pBStack_1c4->iSize" identifier -> field_identifier)) + (cast_expression "(int)pBStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x6acc);" (assignment_expression "pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x6acc)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x6acc)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x6acc)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x6acc" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBStack_1f4 = (Bitvec *)0x0;" (assignment_expression "pBStack_1f4 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBStack_1ec = (Bitvec *)apPStack_108;" (assignment_expression "pBStack_1ec = (Bitvec *)apPStack_108" identifier = (cast_expression "(Bitvec *)apPStack_108" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar39 = (byte *)((int)&pBStack_1c8->iSize + 3);" (assignment_expression "pbVar39 = (byte *)((int)&pBStack_1c8->iSize + 3)" identifier = (cast_expression "(byte *)((int)&pBStack_1c8->iSize + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1c8->iSize + 3)" ( (binary_expression "(int)&pBStack_1c8->iSize + 3" (cast_expression "(int)&pBStack_1c8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1c8->iSize" & (field_expression "pBStack_1c8->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar6 = (uint)pbVar39 & 3;" (assignment_expression "uVar6 = (uint)pbVar39 & 3" identifier = (binary_expression "(uint)pbVar39 & 3" (cast_expression "(uint)pbVar39" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "psStack_184 = (sqlite3_vfs *)\n                ((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8);" (assignment_expression "psStack_184 = (sqlite3_vfs *)\n                ((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8)" identifier = (cast_expression "(sqlite3_vfs *)\n                ((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8)" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8)" ( (binary_expression "(*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8 |\n                *(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8" (binary_expression "(*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8) & -1 << (uVar6 + 1) * 8" (parenthesized_expression "(*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8)" ( (binary_expression "*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8 |\n                 uVar30 & 0xffffffffU >> (4 - uVar26) * 8" (binary_expression "*(int *)((int)pBStack_1c8 - uVar26) << uVar26 * 8" (pointer_expression "*(int *)((int)pBStack_1c8 - uVar26)" * (cast_expression "(int *)((int)pBStack_1c8 - uVar26)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBStack_1c8 - uVar26)" ( (binary_expression "(int)pBStack_1c8 - uVar26" (cast_expression "(int)pBStack_1c8" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) << (binary_expression "uVar26 * 8" identifier * number_literal)) | (binary_expression "uVar30 & 0xffffffffU >> (4 - uVar26) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar26) * 8" number_literal >> (binary_expression "(4 - uVar26) * 8" (parenthesized_expression "(4 - uVar26)" ( (binary_expression "4 - uVar26" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar6 + 1) * 8" number_literal << (binary_expression "(uVar6 + 1) * 8" (parenthesized_expression "(uVar6 + 1)" ( (binary_expression "uVar6 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)(pbVar39 + -uVar6) >> (3 - uVar6) * 8" (pointer_expression "*(uint *)(pbVar39 + -uVar6)" * (cast_expression "(uint *)(pbVar39 + -uVar6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar39 + -uVar6)" ( (binary_expression "pbVar39 + -uVar6" identifier + (unary_expression "-uVar6" - identifier)) )))) >> (binary_expression "(3 - uVar6) * 8" (parenthesized_expression "(3 - uVar6)" ( (binary_expression "3 - uVar6" number_literal - identifier) )) * number_literal))) )))) ;) (expression_statement "pcStack_1e4 = (code *)(*(int *)(puVar57 + 0xb7620) + -0x5c68);" (assignment_expression "pcStack_1e4 = (code *)(*(int *)(puVar57 + 0xb7620) + -0x5c68)" identifier = (cast_expression "(code *)(*(int *)(puVar57 + 0xb7620) + -0x5c68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x5c68)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x5c68" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBVar51 = pBStack_1d4;" (assignment_expression "pBVar51 = pBStack_1d4" identifier = identifier) ;) (while_statement "while( true ) {\n    i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0);\n    pBVar53 = (Bitvec *)((int)pBVar51 * 4);\n    pBVar54 = (Bitvec *)i;\n    pBVar56 = pTo;\n    pBVar60 = pBVar8;\n    pBVar19 = pBStack_1d4;\n    pBStack_188 = (Bitvec *)i;\n    if ((Bitvec *)i != (Bitvec *)0x0) break;\n    pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n    pBStack_1f4 = (Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext);\n    unaff_s7 = (Bitvec *)i;\n    if (pBVar51 == (Bitvec *)0xffffffff) {\n      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);\n      auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);\n      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = abStack_11c;\n      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);\n      auStack_cc[1] = (uint)apsStack_150[0];\n      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);\n      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);\n      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);\n      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];\n      pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));\n      pBVar60 = (Bitvec *)0x0;\n      pBVar56 = (Bitvec *)0x0;\n      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);\n      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);\n      pBVar54 = (Bitvec *)apsStack_150[0];\n      pbVar39 = pbStack_1c0;\n      pBVar51 = pBStack_1bc;\n      if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10];\n    pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_);\n    if (((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))\n    {\n      pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));\n      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;\n      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);\n      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);\n      aVar7 = pBVar8->u;\n      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;\n      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }\n      if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }\n    }\n    else {\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }\n    ppsVar17 = ppsVar17 + -1;\n    ppsVar49 = ppsVar49 + -1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0);\n    pBVar53 = (Bitvec *)((int)pBVar51 * 4);\n    pBVar54 = (Bitvec *)i;\n    pBVar56 = pTo;\n    pBVar60 = pBVar8;\n    pBVar19 = pBStack_1d4;\n    pBStack_188 = (Bitvec *)i;\n    if ((Bitvec *)i != (Bitvec *)0x0) break;\n    pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n    pBStack_1f4 = (Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext);\n    unaff_s7 = (Bitvec *)i;\n    if (pBVar51 == (Bitvec *)0xffffffff) {\n      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);\n      auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);\n      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = abStack_11c;\n      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);\n      auStack_cc[1] = (uint)apsStack_150[0];\n      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);\n      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);\n      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);\n      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];\n      pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));\n      pBVar60 = (Bitvec *)0x0;\n      pBVar56 = (Bitvec *)0x0;\n      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);\n      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);\n      pBVar54 = (Bitvec *)apsStack_150[0];\n      pbVar39 = pbStack_1c0;\n      pBVar51 = pBStack_1bc;\n      if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10];\n    pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_);\n    if (((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))\n    {\n      pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));\n      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;\n      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);\n      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);\n      aVar7 = pBVar8->u;\n      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;\n      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }\n      if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }\n    }\n    else {\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }\n    ppsVar17 = ppsVar17 + -1;\n    ppsVar49 = ppsVar49 + -1;\n  }" { (expression_statement "i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0);" (assignment_expression "i = (*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0)" identifier = (call_expression "(*(code *)pBStack_1f0)(pBVar8,psStack_184,ppsVar17,0,0)" (parenthesized_expression "(*(code *)pBStack_1f0)" ( (pointer_expression "*(code *)pBStack_1f0" * (cast_expression "(code *)pBStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBVar8,psStack_184,ppsVar17,0,0)" ( identifier , identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "pBVar53 = (Bitvec *)((int)pBVar51 * 4);" (assignment_expression "pBVar53 = (Bitvec *)((int)pBVar51 * 4)" identifier = (cast_expression "(Bitvec *)((int)pBVar51 * 4)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar51 * 4)" ( (binary_expression "(int)pBVar51 * 4" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pBVar54 = (Bitvec *)i;" (assignment_expression "pBVar54 = (Bitvec *)i" identifier = (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBVar56 = pTo;" (assignment_expression "pBVar56 = pTo" identifier = identifier) ;) (expression_statement "pBVar60 = pBVar8;" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) ;) (expression_statement "pBVar19 = pBStack_1d4;" (assignment_expression "pBVar19 = pBStack_1d4" identifier = identifier) ;) (expression_statement "pBStack_188 = (Bitvec *)i;" (assignment_expression "pBStack_188 = (Bitvec *)i" identifier = (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((Bitvec *)i != (Bitvec *)0x0) break;" if (parenthesized_expression "((Bitvec *)i != (Bitvec *)0x0)" ( (binary_expression "(Bitvec *)i != (Bitvec *)0x0" (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499);" (assignment_expression "pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 499)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[-1].u + 499)" ( (binary_expression "(int)&pBVar51[-1].u + 499" (cast_expression "(int)&pBVar51[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[-1].u" & (field_expression "pBVar51[-1].u" (subscript_expression "pBVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBStack_1f4 = (Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext);" (assignment_expression "pBStack_1f4 = (Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext)" identifier = (cast_expression "(Bitvec *)\n                  ((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext)" ( (binary_expression "(int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1 +\n                  (uint)*(byte *)&(*ppsVar17)->pNext" (binary_expression "(int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2) + 1" (binary_expression "(int)&pBStack_1f4->iSize +\n                  *(ushort *)((int)&(*ppsVar17)->pAppData + 2)" (cast_expression "(int)&pBStack_1f4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f4->iSize" & (field_expression "pBStack_1f4->iSize" identifier -> field_identifier))) + (pointer_expression "*(ushort *)((int)&(*ppsVar17)->pAppData + 2)" * (cast_expression "(ushort *)((int)&(*ppsVar17)->pAppData + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(*ppsVar17)->pAppData + 2)" ( (binary_expression "(int)&(*ppsVar17)->pAppData + 2" (cast_expression "(int)&(*ppsVar17)->pAppData" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(*ppsVar17)->pAppData" & (field_expression "(*ppsVar17)->pAppData" (parenthesized_expression "(*ppsVar17)" ( (pointer_expression "*ppsVar17" * identifier) )) -> field_identifier))) + number_literal) ))))) + number_literal) + (binary_expression "(uint)*(byte *)&(*ppsVar17)->pNext" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&(*ppsVar17)->pNext" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(*ppsVar17)->pNext" & (field_expression "(*ppsVar17)->pNext" (parenthesized_expression "(*ppsVar17)" ( (pointer_expression "*ppsVar17" * identifier) )) -> field_identifier))))) )))) ;) (expression_statement "unaff_s7 = (Bitvec *)i;" (assignment_expression "unaff_s7 = (Bitvec *)i" identifier = (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pBVar51 == (Bitvec *)0xffffffff) {\n      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);\n      auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);\n      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = abStack_11c;\n      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);\n      auStack_cc[1] = (uint)apsStack_150[0];\n      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);\n      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);\n      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);\n      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];\n      pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));\n      pBVar60 = (Bitvec *)0x0;\n      pBVar56 = (Bitvec *)0x0;\n      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);\n      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);\n      pBVar54 = (Bitvec *)apsStack_150[0];\n      pbVar39 = pbStack_1c0;\n      pBVar51 = pBStack_1bc;\n      if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" if (parenthesized_expression "(pBVar51 == (Bitvec *)0xffffffff)" ( (binary_expression "pBVar51 == (Bitvec *)0xffffffff" identifier == (cast_expression "(Bitvec *)0xffffffff" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);\n      auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);\n      if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = abStack_11c;\n      auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);\n      auStack_cc[1] = (uint)apsStack_150[0];\n      pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);\n      pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);\n      pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n      ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);\n      pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];\n      pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));\n      pBVar60 = (Bitvec *)0x0;\n      pBVar56 = (Bitvec *)0x0;\n      uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);\n      uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);\n      pBVar54 = (Bitvec *)apsStack_150[0];\n      pbVar39 = pbStack_1c0;\n      pBVar51 = pBStack_1bc;\n      if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" { (expression_statement "pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);" (assignment_expression "pBVar52 = (Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc)" identifier = (cast_expression "(Bitvec *)((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc)" ( (binary_expression "(uint)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc" (call_expression "(uint)((int)&pBStack_1f4->iSize + 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&pBStack_1f4->iSize + 3)" ( (binary_expression "(int)&pBStack_1f4->iSize + 3" (cast_expression "(int)&pBStack_1f4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f4->iSize" & (field_expression "pBStack_1f4->iSize" identifier -> field_identifier))) + number_literal) ))) & number_literal) )))) ;) (expression_statement "auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);" (assignment_expression "auStack_cc[2] =\n           (*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f)" (subscript_expression "auStack_cc[2]" identifier [ number_literal ]) = (call_expression "(*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))\n                     ((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0)" * (cast_expression "(code *)(*(int *)(puVar57 + 0xb75b8) + -0x5ca0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb75b8) + -0x5ca0)" ( (binary_expression "*(int *)(puVar57 + 0xb75b8) + -0x5ca0" (pointer_expression "*(int *)(puVar57 + 0xb75b8)" * (cast_expression "(int *)(puVar57 + 0xb75b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb75b8)" ( (binary_expression "puVar57 + 0xb75b8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f)" ( (binary_expression "(int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5]) >> 0x1f" (cast_expression "(int)((int)pBVar52 * 6 + (pBVar8->u).aHash[5])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pBVar52 * 6 + (pBVar8->u).aHash[5])" ( (binary_expression "(int)pBVar52 * 6 + (pBVar8->u).aHash[5]" (binary_expression "(int)pBVar52 * 6" (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (subscript_expression "(pBVar8->u).aHash[5]" (field_expression "(pBVar8->u).aHash" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ))) >> number_literal) )))) ;) (if_statement "if ((Bitvec *)auStack_cc[2] == (Bitvec *)0x0) {\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }" if (parenthesized_expression "((Bitvec *)auStack_cc[2] == (Bitvec *)0x0)" ( (binary_expression "(Bitvec *)auStack_cc[2] == (Bitvec *)0x0" (cast_expression "(Bitvec *)auStack_cc[2]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pBStack_188 = (Bitvec *)&DAT_00000007;\n        goto LAB_000a4454;\n      }" { (expression_statement "pBStack_188 = (Bitvec *)&DAT_00000007;" (assignment_expression "pBStack_188 = (Bitvec *)&DAT_00000007" identifier = (cast_expression "(Bitvec *)&DAT_00000007" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000a4454;" goto statement_identifier ;) })) (expression_statement "pbStack_1c0 = abStack_11c;" (assignment_expression "pbStack_1c0 = abStack_11c" identifier = identifier) ;) (expression_statement "auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52);" (assignment_expression "auStack_cc[3] = (uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52)" (subscript_expression "auStack_cc[3]" identifier [ number_literal ]) = (call_expression "(uint)(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52)" ( (binary_expression "&((Bitvec *)auStack_cc[2])->iSize + (int)pBVar52" (pointer_expression "&((Bitvec *)auStack_cc[2])->iSize" & (field_expression "((Bitvec *)auStack_cc[2])->iSize" (parenthesized_expression "((Bitvec *)auStack_cc[2])" ( (cast_expression "(Bitvec *)auStack_cc[2]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) -> field_identifier)) + (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "auStack_cc[1] = (uint)apsStack_150[0];" (assignment_expression "auStack_cc[1] = (uint)apsStack_150[0]" (subscript_expression "auStack_cc[1]" identifier [ number_literal ]) = (cast_expression "(uint)apsStack_150[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "apsStack_150[0]" identifier [ number_literal ]))) ;) (expression_statement "pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2);" (assignment_expression "pBStack_1f4 = (Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2)" identifier = (cast_expression "(Bitvec *)((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2)" ( (binary_expression "(int)&((Bitvec *)auStack_cc[3])->iSize + (int)pBVar52 * 2" (cast_expression "(int)&((Bitvec *)auStack_cc[3])->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)auStack_cc[3])->iSize" & (field_expression "((Bitvec *)auStack_cc[3])->iSize" (parenthesized_expression "((Bitvec *)auStack_cc[3])" ( (cast_expression "(Bitvec *)auStack_cc[3]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ])) )) -> field_identifier))) + (binary_expression "(int)pBVar52 * 2" (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3);" (assignment_expression "pcStack_1e4 = (code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3)" identifier = (binary_expression "(code *)(uint)*(byte *)((int)&apsStack_150[0]->iVersion + 3)" (cast_expression "(code *)(uint)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)&apsStack_150[0]->iVersion + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[0]->iVersion + 3)" ( (binary_expression "(int)&apsStack_150[0]->iVersion + 3" (cast_expression "(int)&apsStack_150[0]->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[0]->iVersion" & (field_expression "apsStack_150[0]->iVersion" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1);" (assignment_expression "pBStack_1bc = (Bitvec *)((int)&pBStack_1d4->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1d4->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1d4->iSize + 1)" ( (binary_expression "(int)&pBStack_1d4->iSize + 1" (cast_expression "(int)&pBStack_1d4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1d4->iSize" & (field_expression "pBStack_1d4->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4);" (assignment_expression "ppBStack_1e0 = (Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4)" identifier = (cast_expression "(Bitvec **)((uint)*(byte *)&apsStack_150[0]->mxPathname * 4)" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)*(byte *)&apsStack_150[0]->mxPathname * 4)" ( (binary_expression "(uint)*(byte *)&apsStack_150[0]->mxPathname * 4" (binary_expression "(uint)*(byte *)&apsStack_150[0]->mxPathname" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&apsStack_150[0]->mxPathname" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[0]->mxPathname" & (field_expression "apsStack_150[0]->mxPathname" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier)))) * number_literal) )))) ;) (expression_statement "pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb];" (assignment_expression "pBVar52 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]" identifier = (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[0]->pNext" & (field_expression "apsStack_150[0]->pNext" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;) (expression_statement "pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6));" (assignment_expression "pBVar53 = (Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6))" identifier = (cast_expression "(Bitvec *)\n                ((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6))" ( (binary_expression "(int)&pBVar52->iSize + (uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6)" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + (binary_expression "(uint)*(ushort *)((int)&apsStack_150[0]->pNext + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)&apsStack_150[0]->pNext + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[0]->pNext + 6)" ( (binary_expression "(int)&apsStack_150[0]->pNext + 6" (cast_expression "(int)&apsStack_150[0]->pNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[0]->pNext" & (field_expression "apsStack_150[0]->pNext" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) + number_literal) ))))) )))) ;) (expression_statement "pBVar60 = (Bitvec *)0x0;" (assignment_expression "pBVar60 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar56 = (Bitvec *)0x0;" (assignment_expression "pBVar56 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10);" (assignment_expression "uVar2 = *(ushort *)((int)&apsStack_150[0]->pNext + 10)" identifier = (pointer_expression "*(ushort *)((int)&apsStack_150[0]->pNext + 10)" * (cast_expression "(ushort *)((int)&apsStack_150[0]->pNext + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[0]->pNext + 10)" ( (binary_expression "(int)&apsStack_150[0]->pNext + 10" (cast_expression "(int)&apsStack_150[0]->pNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[0]->pNext" & (field_expression "apsStack_150[0]->pNext" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc);" (assignment_expression "uVar3 = *(ushort *)((int)&apsStack_150[0]->pNext + 0xc)" identifier = (pointer_expression "*(ushort *)((int)&apsStack_150[0]->pNext + 0xc)" * (cast_expression "(ushort *)((int)&apsStack_150[0]->pNext + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[0]->pNext + 0xc)" ( (binary_expression "(int)&apsStack_150[0]->pNext + 0xc" (cast_expression "(int)&apsStack_150[0]->pNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[0]->pNext" & (field_expression "apsStack_150[0]->pNext" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBVar54 = (Bitvec *)apsStack_150[0];" (assignment_expression "pBVar54 = (Bitvec *)apsStack_150[0]" identifier = (cast_expression "(Bitvec *)apsStack_150[0]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apsStack_150[0]" identifier [ number_literal ]))) ;) (expression_statement "pbVar39 = pbStack_1c0;" (assignment_expression "pbVar39 = pbStack_1c0" identifier = identifier) ;) (expression_statement "pBVar51 = pBStack_1bc;" (assignment_expression "pBVar51 = pBStack_1bc" identifier = identifier) ;) (if_statement "if (*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n      goto LAB_000a45ec;" if (parenthesized_expression "(*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)" ( (binary_expression "*(char *)&pBVar52->iSize ==\n          *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" (pointer_expression "*(char *)&pBVar52->iSize" * (cast_expression "(char *)&pBVar52->iSize" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier)))) == (pointer_expression "*(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" * (cast_expression "(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" & (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[0]->pNext" & (field_expression "apsStack_150[0]->pNext" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ]) -> field_identifier))))) )) (goto_statement "goto LAB_000a45ec;" goto statement_identifier ;)) (goto_statement "goto LAB_000a46e0;" goto statement_identifier ;) })) (expression_statement "p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10];" (assignment_expression "p_Var58 = (_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10]" identifier = (cast_expression "(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10]" ( (type_descriptor "_func_u16_MemPage_ptr_u8_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pTo->u).aHash[0x10]" (field_expression "(pTo->u).aHash" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_);" (assignment_expression "pbVar39 = (byte *)((int)&pBVar51->iSize + abStack_8c._56_4_)" identifier = (cast_expression "(byte *)((int)&pBVar51->iSize + abStack_8c._56_4_)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + abStack_8c._56_4_)" ( (binary_expression "(int)&pBVar51->iSize + abStack_8c._56_4_" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + (field_expression "abStack_8c._56_4_" identifier . field_identifier)) )))) ;) (if_statement "if (((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))\n    {\n      pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));\n      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;\n      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);\n      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);\n      aVar7 = pBVar8->u;\n      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;\n      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }\n      if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }\n    }\n    else {\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }" if (parenthesized_expression "(((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39))" ( (binary_expression "((pTo->u).aBitmap[0] == 0) || ((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39)" (parenthesized_expression "((pTo->u).aBitmap[0] == 0)" ( (binary_expression "(pTo->u).aBitmap[0] == 0" (subscript_expression "(pTo->u).aBitmap[0]" (field_expression "(pTo->u).aBitmap" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == number_literal) )) || (parenthesized_expression "((undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39)" ( (binary_expression "(undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe) != pbVar39" (binary_expression "(undefined1 *)(uint)*(u16 *)((int)&pTo->u + 0xe)" (cast_expression "(undefined1 *)(uint)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(u16 *)((int)&pTo->u + 0xe)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTo->u + 0xe)" ( (binary_expression "(int)&pTo->u + 0xe" (cast_expression "(int)&pTo->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTo->u" & (field_expression "pTo->u" identifier -> field_identifier))) + number_literal) )))) != identifier) ))) )) (compound_statement "{\n      pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));\n      ppsVar49[-1] = (sqlite3_vfs *)pBVar52;\n      psStack_184 = (sqlite3_vfs *)pBVar52->iSize;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);\n      pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);\n      aVar7 = pBVar8->u;\n      *(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;\n      if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }\n      if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }\n    }" { (expression_statement "pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)));" (assignment_expression "pBVar52 = (Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)))" identifier = (cast_expression "(Bitvec *)\n                ((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)))" ( (binary_expression "(int)(pTo->u).apSub[0xb] +\n                (uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc))" (cast_expression "(int)(pTo->u).apSub[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(pTo->u).apSub[0xb]" (field_expression "(pTo->u).apSub" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) + (call_expression "(uint)(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc))" ( (binary_expression "*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)\n                      & *(u16 *)((int)&pTo->u + 0xc)" (pointer_expression "*(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)" * (cast_expression "(ushort *)\n                        ((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2)" ( (binary_expression "(u8 *)(pTo->u).aHash[0xd] + ((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2" (cast_expression "(u8 *)(pTo->u).aHash[0xd]" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pTo->u).aHash[0xd]" (field_expression "(pTo->u).aHash" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) + (binary_expression "((int)pbVar39 - (uint)(pTo->u).aBitmap[0]) * 2" (parenthesized_expression "((int)pbVar39 - (uint)(pTo->u).aBitmap[0])" ( (binary_expression "(int)pbVar39 - (uint)(pTo->u).aBitmap[0]" (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "(uint)(pTo->u).aBitmap[0]" (field_expression "(uint)(pTo->u).aBitmap" (call_expression "(uint)(pTo->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ])) )) * number_literal)) )))) & (pointer_expression "*(u16 *)((int)&pTo->u + 0xc)" * (cast_expression "(u16 *)((int)&pTo->u + 0xc)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTo->u + 0xc)" ( (binary_expression "(int)&pTo->u + 0xc" (cast_expression "(int)&pTo->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTo->u" & (field_expression "pTo->u" identifier -> field_identifier))) + number_literal) ))))) )))) )))) ;) (expression_statement "ppsVar49[-1] = (sqlite3_vfs *)pBVar52;" (assignment_expression "ppsVar49[-1] = (sqlite3_vfs *)pBVar52" (subscript_expression "ppsVar49[-1]" identifier [ number_literal ]) = (cast_expression "(sqlite3_vfs *)pBVar52" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_184 = (sqlite3_vfs *)pBVar52->iSize;" (assignment_expression "psStack_184 = (sqlite3_vfs *)pBVar52->iSize" identifier = (cast_expression "(sqlite3_vfs *)pBVar52->iSize" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar52->iSize" identifier -> field_identifier))) ;) (expression_statement "uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52);" (assignment_expression "uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)pBVar52)" identifier = (call_expression "(*p_Var58)((MemPage *)pTo,(u8 *)pBVar52)" (parenthesized_expression "(*p_Var58)" ( (pointer_expression "*p_Var58" * identifier) )) (argument_list "((MemPage *)pTo,(u8 *)pBVar52)" ( (cast_expression "(MemPage *)pTo" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(u8 *)pBVar52" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22);" (assignment_expression "pBVar47 = (Bitvec *)CONCAT22(extraout_var,uVar22)" identifier = (cast_expression "(Bitvec *)CONCAT22(extraout_var,uVar22)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT22(extraout_var,uVar22)" identifier (argument_list "(extraout_var,uVar22)" ( identifier , identifier ))))) ;) (expression_statement "aVar7 = pBVar8->u;" (assignment_expression "aVar7 = pBVar8->u" identifier = (field_expression "pBVar8->u" identifier -> field_identifier)) ;) (expression_statement "*(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47;" (assignment_expression "*(Bitvec **)(auStack_10c + (int)pBVar53) = pBVar47" (pointer_expression "*(Bitvec **)(auStack_10c + (int)pBVar53)" * (cast_expression "(Bitvec **)(auStack_10c + (int)pBVar53)" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_10c + (int)pBVar53)" ( (binary_expression "auStack_10c + (int)pBVar53" identifier + (cast_expression "(int)pBVar53" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = identifier) ;) (if_statement "if ((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0) {\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }" if (parenthesized_expression "((undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0)" ( (binary_expression "(undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc) !=\n          (undefined1  [500])0x0" (call_expression "(undefined1  [500])((undefined1  [500])aVar7 & (undefined1  [500])0xc)" (parenthesized_expression "(undefined1  [500])" ( (subscript_expression "undefined1  [500]" identifier [ number_literal ]) )) (argument_list "((undefined1  [500])aVar7 & (undefined1  [500])0xc)" ( (binary_expression "(undefined1  [500])aVar7 & (undefined1  [500])0xc" (cast_expression "(undefined1  [500])aVar7" ( (type_descriptor "undefined1  [500]" type_identifier (abstract_array_declarator "[500]" [ number_literal ])) ) identifier) & (cast_expression "(undefined1  [500])0xc" ( (type_descriptor "undefined1  [500]" type_identifier (abstract_array_declarator "[500]" [ number_literal ])) ) number_literal)) ))) != (cast_expression "(undefined1  [500])0x0" ( (type_descriptor "undefined1  [500]" type_identifier (abstract_array_declarator "[500]" [ number_literal ])) ) number_literal)) )) (compound_statement "{\n        iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];\n        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);\n        ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;\n        pBStack_1e8 = pBVar47;\n      }" { (expression_statement "iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb];" (assignment_expression "iVar31 = (int)pBVar52 - (int)(pTo->u).aHash[0xb]" identifier = (binary_expression "(int)pBVar52 - (int)(pTo->u).aHash[0xb]" (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pTo->u).aHash[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(pTo->u).aHash[0xb]" (field_expression "(pTo->u).aHash" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])))) ;) (if_statement "if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)) {\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }" if (parenthesized_expression "((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31))" ( (binary_expression "(int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + iVar31)" (cast_expression "(int)(pBVar8->u).aHash[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(pBVar8->u).aHash[6]" (field_expression "(pBVar8->u).aHash" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) < (cast_expression "(int)((int)pBVar47 + iVar31)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pBVar47 + iVar31)" ( (binary_expression "(int)pBVar47 + iVar31" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n          pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);\n          (**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);\n          pBStack_1f4 = pBVar53;\n          goto LAB_000a443c;\n        }" { (expression_statement "pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);" (assignment_expression "pBStack_188 = (Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47)" identifier = (cast_expression "(Bitvec *)\n                        (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))\n                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0)" * (cast_expression "(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x75c0)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x113c2,(pBVar8->u).aHash[6],pBVar47)" ( number_literal , (subscript_expression "(pBVar8->u).aHash[6]" (field_expression "(pBVar8->u).aHash" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) , identifier ))))) ;) (expression_statement "(**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc);" (call_expression "(**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,pBVar53,0xc)" (parenthesized_expression "(**(code **)(puVar57 + 0xb786c))" ( (pointer_expression "**(code **)(puVar57 + 0xb786c)" * (pointer_expression "*(code **)(puVar57 + 0xb786c)" * (cast_expression "(code **)(puVar57 + 0xb786c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb786c)" ( (binary_expression "puVar57 + 0xb786c" identifier + number_literal) ))))) )) (argument_list "(ppsStack_1dc,0,pBVar53,0xc)" ( identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "pBStack_1f4 = pBVar53;" (assignment_expression "pBStack_1f4 = pBVar53" identifier = identifier) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52);" (call_expression "(**(code **)(puVar57 + 0xb7910))((u8 *)((int)piStack_1d8 + iVar31),pBVar52)" (parenthesized_expression "(**(code **)(puVar57 + 0xb7910))" ( (pointer_expression "**(code **)(puVar57 + 0xb7910)" * (pointer_expression "*(code **)(puVar57 + 0xb7910)" * (cast_expression "(code **)(puVar57 + 0xb7910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb7910)" ( (binary_expression "puVar57 + 0xb7910" identifier + number_literal) ))))) )) (argument_list "((u8 *)((int)piStack_1d8 + iVar31),pBVar52)" ( (cast_expression "(u8 *)((int)piStack_1d8 + iVar31)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_1d8 + iVar31)" ( (binary_expression "(int)piStack_1d8 + iVar31" (cast_expression "(int)piStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier ))) ;) (expression_statement "ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))\n        ;" (assignment_expression "ppsVar49[-1] = (sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))" (subscript_expression "ppsVar49[-1]" identifier [ number_literal ]) = (cast_expression "(sqlite3_vfs *)((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb]))" ( (binary_expression "(int)piStack_1d8 + ((int)pBVar52 - (int)(pTo->u).aHash[0xb])" (cast_expression "(int)piStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pBVar52 - (int)(pTo->u).aHash[0xb])" ( (binary_expression "(int)pBVar52 - (int)(pTo->u).aHash[0xb]" (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pTo->u).aHash[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(pTo->u).aHash[0xb]" (field_expression "(pTo->u).aHash" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ))) )))) ;) (expression_statement "pBStack_1e8 = pBVar47;" (assignment_expression "pBStack_1e8 = pBVar47" identifier = identifier) ;) })) (if_statement "if (pBStack_188 == (Bitvec *)0x0) {\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }" if (parenthesized_expression "(pBStack_188 == (Bitvec *)0x0)" ( (binary_expression "pBStack_188 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);\n      }" { (expression_statement "(*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0);" (call_expression "(*pcStack_1e4)(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0)" (parenthesized_expression "(*pcStack_1e4)" ( (pointer_expression "*pcStack_1e4" * identifier) )) (argument_list "(pTo,(int)pbVar39 - (uint)(pTo->u).aBitmap[0],pBVar47,ppBStack_1e0)" ( identifier , (binary_expression "(int)pbVar39 - (uint)(pTo->u).aBitmap[0]" (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier) - (subscript_expression "(uint)(pTo->u).aBitmap[0]" (field_expression "(uint)(pTo->u).aBitmap" (call_expression "(uint)(pTo->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ])) , identifier , identifier ))) ;) })) }) (else_clause "else {\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }" else (compound_statement "{\n      puVar12 = &(pTo->u).apSub[6]->iSize;\n      ppsVar49[-1] = (sqlite3_vfs *)puVar12;\n      psStack_184 = (sqlite3_vfs *)*puVar12;\n      uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);\n      (pTo->u).aBitmap[0] = '\0';\n      *(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);\n    }" { (expression_statement "puVar12 = &(pTo->u).apSub[6]->iSize;" (assignment_expression "puVar12 = &(pTo->u).apSub[6]->iSize" identifier = (pointer_expression "&(pTo->u).apSub[6]->iSize" & (field_expression "(pTo->u).apSub[6]->iSize" (subscript_expression "(pTo->u).apSub[6]" (field_expression "(pTo->u).apSub" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) -> field_identifier))) ;) (expression_statement "ppsVar49[-1] = (sqlite3_vfs *)puVar12;" (assignment_expression "ppsVar49[-1] = (sqlite3_vfs *)puVar12" (subscript_expression "ppsVar49[-1]" identifier [ number_literal ]) = (cast_expression "(sqlite3_vfs *)puVar12" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_184 = (sqlite3_vfs *)*puVar12;" (assignment_expression "psStack_184 = (sqlite3_vfs *)*puVar12" identifier = (cast_expression "(sqlite3_vfs *)*puVar12" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12);" (assignment_expression "uVar22 = (*p_Var58)((MemPage *)pTo,(u8 *)puVar12)" identifier = (call_expression "(*p_Var58)((MemPage *)pTo,(u8 *)puVar12)" (parenthesized_expression "(*p_Var58)" ( (pointer_expression "*p_Var58" * identifier) )) (argument_list "((MemPage *)pTo,(u8 *)puVar12)" ( (cast_expression "(MemPage *)pTo" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(u8 *)puVar12" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "(pTo->u).aBitmap[0] = '\0';" (assignment_expression "(pTo->u).aBitmap[0] = '\0'" (subscript_expression "(pTo->u).aBitmap[0]" (field_expression "(pTo->u).aBitmap" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22);" (assignment_expression "*(uint *)(auStack_10c + (int)pBVar53) = CONCAT22(extraout_var_00,uVar22)" (pointer_expression "*(uint *)(auStack_10c + (int)pBVar53)" * (cast_expression "(uint *)(auStack_10c + (int)pBVar53)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_10c + (int)pBVar53)" ( (binary_expression "auStack_10c + (int)pBVar53" identifier + (cast_expression "(int)pBVar53" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (call_expression "CONCAT22(extraout_var_00,uVar22)" identifier (argument_list "(extraout_var_00,uVar22)" ( identifier , identifier )))) ;) }))) (expression_statement "ppsVar17 = ppsVar17 + -1;" (assignment_expression "ppsVar17 = ppsVar17 + -1" identifier = (binary_expression "ppsVar17 + -1" identifier + number_literal)) ;) (expression_statement "ppsVar49 = ppsVar49 + -1;" (assignment_expression "ppsVar49 = ppsVar49 + -1" identifier = (binary_expression "ppsVar49 + -1" identifier + number_literal)) ;) })) (expression_statement "(**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,(int)((int)&pBVar51->iSize + 1) * 4,0xc);" (call_expression "(**(code **)(puVar57 + 0xb786c))(ppsStack_1dc,0,(int)((int)&pBVar51->iSize + 1) * 4,0xc)" (parenthesized_expression "(**(code **)(puVar57 + 0xb786c))" ( (pointer_expression "**(code **)(puVar57 + 0xb786c)" * (pointer_expression "*(code **)(puVar57 + 0xb786c)" * (cast_expression "(code **)(puVar57 + 0xb786c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb786c)" ( (binary_expression "puVar57 + 0xb786c" identifier + number_literal) ))))) )) (argument_list "(ppsStack_1dc,0,(int)((int)&pBVar51->iSize + 1) * 4,0xc)" ( identifier , number_literal , (binary_expression "(int)((int)&pBVar51->iSize + 1) * 4" (cast_expression "(int)((int)&pBVar51->iSize + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBVar51->iSize + 1)" ( (binary_expression "(int)&pBVar51->iSize + 1" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + number_literal) ))) * number_literal) , number_literal ))) ;) (expression_statement "unaff_s7 = (Bitvec *)0x0;" (assignment_expression "unaff_s7 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) (labeled_statement "LAB_000a45ec:\n  (**(code **)(puVar57 + 0xb7894))\n            ((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,\n             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2);" statement_identifier : (expression_statement "(**(code **)(puVar57 + 0xb7894))\n            ((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,\n             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2);" (call_expression "(**(code **)(puVar57 + 0xb7894))\n            ((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,\n             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2)" (parenthesized_expression "(**(code **)(puVar57 + 0xb7894))" ( (pointer_expression "**(code **)(puVar57 + 0xb7894)" * (pointer_expression "*(code **)(puVar57 + 0xb7894)" * (cast_expression "(code **)(puVar57 + 0xb7894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb7894)" ( (binary_expression "puVar57 + 0xb7894" identifier + number_literal) ))))) )) (argument_list "((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2,0,\n             ((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "auStack_cc[0] * 2" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) * number_literal)) , number_literal , (binary_expression "((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2) * 2" (parenthesized_expression "((uint)(pBVar54->u).aBitmap[0] + (uint)uVar2)" ( (binary_expression "(uint)(pBVar54->u).aBitmap[0] + (uint)uVar2" (subscript_expression "(uint)(pBVar54->u).aBitmap[0]" (field_expression "(uint)(pBVar54->u).aBitmap" (call_expression "(uint)(pBVar54->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pBVar54->u)" ( (field_expression "pBVar54->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ]) + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) )) * number_literal) ))) ;)) (if_statement "if ((pBVar54->u).aBitmap[0] == '\0') {\nLAB_000a4624:\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }\n  else {\n    uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);\n    if (uVar30 != 0) {\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }\n    pwVar34 = (word *)((pBVar54->u).aHash + 6);\n    iVar31 = 0;\n    do {\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }" if (parenthesized_expression "((pBVar54->u).aBitmap[0] == '\0')" ( (binary_expression "(pBVar54->u).aBitmap[0] == '\0'" (subscript_expression "(pBVar54->u).aBitmap[0]" (field_expression "(pBVar54->u).aBitmap" (parenthesized_expression "(pBVar54->u)" ( (field_expression "pBVar54->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000a4624:\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }" { (labeled_statement "LAB_000a4624:\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);" statement_identifier : (expression_statement "uVar2 = *(ushort *)((int)&pBVar54->u + 10);" (assignment_expression "uVar2 = *(ushort *)((int)&pBVar54->u + 10)" identifier = (pointer_expression "*(ushort *)((int)&pBVar54->u + 10)" * (cast_expression "(ushort *)((int)&pBVar54->u + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->u + 10)" ( (binary_expression "(int)&pBVar54->u + 10" (cast_expression "(int)&pBVar54->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->u" & (field_expression "pBVar54->u" identifier -> field_identifier))) + number_literal) ))))) ;)) }) (else_clause "else {\n    uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);\n    if (uVar30 != 0) {\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }\n    pwVar34 = (word *)((pBVar54->u).aHash + 6);\n    iVar31 = 0;\n    do {\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }" else (compound_statement "{\n    uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);\n    if (uVar30 != 0) {\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }\n    pwVar34 = (word *)((pBVar54->u).aHash + 6);\n    iVar31 = 0;\n    do {\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n  }" { (expression_statement "uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe);" (assignment_expression "uVar30 = (uint)*(ushort *)((int)&pBVar54->u + 0xe)" identifier = (binary_expression "(uint)*(ushort *)((int)&pBVar54->u + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)&pBVar54->u + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->u + 0xe)" ( (binary_expression "(int)&pBVar54->u + 0xe" (cast_expression "(int)&pBVar54->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->u" & (field_expression "pBVar54->u" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar30 != 0) {\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }" if (parenthesized_expression "(uVar30 != 0)" ( (binary_expression "uVar30 != 0" identifier != number_literal) )) (compound_statement "{\n      ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;\n      do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));\n      if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;\n    }" { (expression_statement "ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize;" (assignment_expression "ppsVar17 = (sqlite3_vfs **)&pBVar53->iSize" identifier = (cast_expression "(sqlite3_vfs **)&pBVar53->iSize" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier)))) ;) (do_statement "do {\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      } while (pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2));" do (compound_statement "{\n        ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;\n        pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n        ((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);\n        auStack_cc[0] = (uint)(auStack_cc[0] + 1);\n      }" { (expression_statement "ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize;" (assignment_expression "ppsVar49 = (sqlite3_vfs **)&pBVar53->iSize" identifier = (cast_expression "(sqlite3_vfs **)&pBVar53->iSize" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier)))) ;) (expression_statement "pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);" (assignment_expression "pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)" identifier = (cast_expression "(Bitvec *)((int)&pBVar53->iSize + 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar53->iSize + 2)" ( (binary_expression "(int)&pBVar53->iSize + 2" (cast_expression "(int)&pBVar53->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49);" (assignment_expression "((u32 *)auStack_cc[2])[auStack_cc[0]] =\n             (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49)" (subscript_expression "((u32 *)auStack_cc[2])[auStack_cc[0]]" (parenthesized_expression "((u32 *)auStack_cc[2])" ( (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) [ (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) ]) = (binary_expression "(int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)ppsVar49)" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + (call_expression "(uint)(uVar3 & *(ushort *)ppsVar49)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 & *(ushort *)ppsVar49)" ( (binary_expression "uVar3 & *(ushort *)ppsVar49" identifier & (pointer_expression "*(ushort *)ppsVar49" * (cast_expression "(ushort *)ppsVar49" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ))))) ;) (expression_statement "auStack_cc[0] = (uint)(auStack_cc[0] + 1);" (assignment_expression "auStack_cc[0] = (uint)(auStack_cc[0] + 1)" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) = (call_expression "(uint)(auStack_cc[0] + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(auStack_cc[0] + 1)" ( (binary_expression "auStack_cc[0] + 1" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) + number_literal) )))) ;) }) while (parenthesized_expression "(pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2))" ( (binary_expression "pBVar53 != (Bitvec *)((int)ppsVar17 + uVar30 * 2)" identifier != (cast_expression "(Bitvec *)((int)ppsVar17 + uVar30 * 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar17 + uVar30 * 2)" ( (binary_expression "(int)ppsVar17 + uVar30 * 2" (cast_expression "(int)ppsVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar30 * 2" identifier * number_literal)) )))) )) ;) (if_statement "if ((pBVar54->u).aBitmap[0] == '\0') goto LAB_000a4624;" if (parenthesized_expression "((pBVar54->u).aBitmap[0] == '\0')" ( (binary_expression "(pBVar54->u).aBitmap[0] == '\0'" (subscript_expression "(pBVar54->u).aBitmap[0]" (field_expression "(pBVar54->u).aBitmap" (parenthesized_expression "(pBVar54->u)" ( (field_expression "pBVar54->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000a4624;" goto statement_identifier ;)) })) (expression_statement "pwVar34 = (word *)((pBVar54->u).aHash + 6);" (assignment_expression "pwVar34 = (word *)((pBVar54->u).aHash + 6)" identifier = (cast_expression "(word *)((pBVar54->u).aHash + 6)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pBVar54->u).aHash + 6)" ( (binary_expression "(pBVar54->u).aHash + 6" (field_expression "(pBVar54->u).aHash" (parenthesized_expression "(pBVar54->u)" ( (field_expression "pBVar54->u" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    } while (iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]);" do (compound_statement "{\n      uVar14 = *(u32 *)pwVar34;\n      iVar31 = iVar31 + 1;\n      pwVar34 = pwVar34 + 2;\n      ((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }" { (expression_statement "uVar14 = *(u32 *)pwVar34;" (assignment_expression "uVar14 = *(u32 *)pwVar34" identifier = (pointer_expression "*(u32 *)pwVar34" * (cast_expression "(u32 *)pwVar34" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (expression_statement "pwVar34 = pwVar34 + 2;" (assignment_expression "pwVar34 = pwVar34 + 2" identifier = (binary_expression "pwVar34 + 2" identifier + number_literal)) ;) (expression_statement "((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14;" (assignment_expression "((u32 *)auStack_cc[2])[auStack_cc[0]] = uVar14" (subscript_expression "((u32 *)auStack_cc[2])[auStack_cc[0]]" (parenthesized_expression "((u32 *)auStack_cc[2])" ( (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) [ (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) ]) = identifier) ;) (expression_statement "auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);" (assignment_expression "auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1)" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) = (call_expression "(uint)((int)(u32 *)auStack_cc[0] + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(u32 *)auStack_cc[0] + 1)" ( (binary_expression "(int)(u32 *)auStack_cc[0] + 1" (cast_expression "(int)(u32 *)auStack_cc[0]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[0]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar31 < (int)(uint)(pBVar54->u).aBitmap[0])" ( (binary_expression "iVar31 < (int)(uint)(pBVar54->u).aBitmap[0]" identifier < (cast_expression "(int)(uint)(pBVar54->u).aBitmap[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(uint)(pBVar54->u).aBitmap[0]" (field_expression "(uint)(pBVar54->u).aBitmap" (call_expression "(uint)(pBVar54->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pBVar54->u)" ( (field_expression "pBVar54->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ]))) )) ;) (expression_statement "uVar2 = *(ushort *)((int)&pBVar54->u + 10);" (assignment_expression "uVar2 = *(ushort *)((int)&pBVar54->u + 10)" identifier = (pointer_expression "*(ushort *)((int)&pBVar54->u + 10)" * (cast_expression "(ushort *)((int)&pBVar54->u + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->u + 10)" ( (binary_expression "(int)&pBVar54->u + 10" (cast_expression "(int)&pBVar54->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->u" & (field_expression "pBVar54->u" identifier -> field_identifier))) + number_literal) ))))) ;) }))) (expression_statement "uVar4 = *(ushort *)((int)&pBVar54->u + 6);" (assignment_expression "uVar4 = *(ushort *)((int)&pBVar54->u + 6)" identifier = (pointer_expression "*(ushort *)((int)&pBVar54->u + 6)" * (cast_expression "(ushort *)((int)&pBVar54->u + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->u + 6)" ( (binary_expression "(int)&pBVar54->u + 6" (cast_expression "(int)&pBVar54->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->u" & (field_expression "pBVar54->u" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "PVar27 = auStack_cc[0];" (assignment_expression "PVar27 = auStack_cc[0]" identifier = (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) ;) (for_statement "for (; pBVar53 < (Bitvec *)((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4);\n      pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)) {\n    ((u32 *)auStack_cc[2])[PVar27] =\n         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize);\n    auStack_cc[0] = PVar27 + 1;\n    PVar27 = auStack_cc[0];\n  }" for ( ; (binary_expression "pBVar53 < (Bitvec *)((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4)" identifier < (cast_expression "(Bitvec *)((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4)" ( (binary_expression "(int)&pBVar52->iSize + (uint)uVar2 * 2 + (uint)uVar4" (binary_expression "(int)&pBVar52->iSize + (uint)uVar2 * 2" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + (binary_expression "(uint)uVar2 * 2" (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (cast_expression "(uint)uVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ; (assignment_expression "pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)" identifier = (cast_expression "(Bitvec *)((int)&pBVar53->iSize + 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar53->iSize + 2)" ( (binary_expression "(int)&pBVar53->iSize + 2" (cast_expression "(int)&pBVar53->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier))) + number_literal) )))) ) (compound_statement "{\n    ((u32 *)auStack_cc[2])[PVar27] =\n         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize);\n    auStack_cc[0] = PVar27 + 1;\n    PVar27 = auStack_cc[0];\n  }" { (expression_statement "((u32 *)auStack_cc[2])[PVar27] =\n         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize);" (assignment_expression "((u32 *)auStack_cc[2])[PVar27] =\n         (int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize)" (subscript_expression "((u32 *)auStack_cc[2])[PVar27]" (parenthesized_expression "((u32 *)auStack_cc[2])" ( (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) [ identifier ]) = (binary_expression "(int)&pBVar52->iSize + (uint)(uVar3 & *(ushort *)&pBVar53->iSize)" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + (call_expression "(uint)(uVar3 & *(ushort *)&pBVar53->iSize)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 & *(ushort *)&pBVar53->iSize)" ( (binary_expression "uVar3 & *(ushort *)&pBVar53->iSize" identifier & (pointer_expression "*(ushort *)&pBVar53->iSize" * (cast_expression "(ushort *)&pBVar53->iSize" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier))))) ))))) ;) (expression_statement "auStack_cc[0] = PVar27 + 1;" (assignment_expression "auStack_cc[0] = PVar27 + 1" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) = (binary_expression "PVar27 + 1" identifier + number_literal)) ;) (expression_statement "PVar27 = auStack_cc[0];" (assignment_expression "PVar27 = auStack_cc[0]" identifier = (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) ;) })) (expression_statement "auStack_cc[0] = PVar27;" (assignment_expression "auStack_cc[0] = PVar27" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(Pgno *)pbVar39 = PVar27;" (assignment_expression "*(Pgno *)pbVar39 = PVar27" (pointer_expression "*(Pgno *)pbVar39" * (cast_expression "(Pgno *)pbVar39" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (((int)pBVar60 < (int)pBStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar61 = *(code **)(puVar57 + 0xb7910);\n    psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60];\n    psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60];\n    uVar30 = (uint)psVar37 & 0xffff;\n    ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize;\n    *(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37;\n    pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30);\n    iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30);\n    ((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0;\n    psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n    *psVar13 = *psVar13 - (short)ppBStack_1e0;\n    if (*(byte *)&pBVar54->iDivisor == 0) {\n      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;\nLAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    else {\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    if ((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;\n    pBVar60 = (Bitvec *)((int)ppsVar17 + 1);\n    pbVar39 = pbVar39 + 4;\n    pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)];\n    pBVar52 = (pBVar54->u).apSub[0xb];\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n    pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6));\n    uVar3 = *(ushort *)((int)&pBVar54->u + 0xc);\n    if (*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n    goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" if (parenthesized_expression "(((int)pBVar60 < (int)pBStack_1d4) && (pcStack_1e4 == (code *)0x0))" ( (binary_expression "((int)pBVar60 < (int)pBStack_1d4) && (pcStack_1e4 == (code *)0x0)" (parenthesized_expression "((int)pBVar60 < (int)pBStack_1d4)" ( (binary_expression "(int)pBVar60 < (int)pBStack_1d4" (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    pcVar61 = *(code **)(puVar57 + 0xb7910);\n    psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60];\n    psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60];\n    uVar30 = (uint)psVar37 & 0xffff;\n    ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize;\n    *(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37;\n    pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30);\n    iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30);\n    ((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0;\n    psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n    *psVar13 = *psVar13 - (short)ppBStack_1e0;\n    if (*(byte *)&pBVar54->iDivisor == 0) {\n      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;\nLAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    else {\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    if ((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;\n    pBVar60 = (Bitvec *)((int)ppsVar17 + 1);\n    pbVar39 = pbVar39 + 4;\n    pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)];\n    pBVar52 = (pBVar54->u).apSub[0xb];\n    uVar2 = *(ushort *)((int)&pBVar54->u + 10);\n    pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6));\n    uVar3 = *(ushort *)((int)&pBVar54->u + 0xc);\n    if (*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n    goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" { (expression_statement "pcVar61 = *(code **)(puVar57 + 0xb7910);" (assignment_expression "pcVar61 = *(code **)(puVar57 + 0xb7910)" identifier = (pointer_expression "*(code **)(puVar57 + 0xb7910)" * (cast_expression "(code **)(puVar57 + 0xb7910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb7910)" ( (binary_expression "puVar57 + 0xb7910" identifier + number_literal) ))))) ;) (expression_statement "psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60];" (assignment_expression "psVar37 = (sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60]" identifier = (cast_expression "(sqlite3_vfs *)(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60]" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&((Bitvec *)apPStack_108)->iSize)[(int)pBVar60]" (parenthesized_expression "(&((Bitvec *)apPStack_108)->iSize)" ( (pointer_expression "&((Bitvec *)apPStack_108)->iSize" & (field_expression "((Bitvec *)apPStack_108)->iSize" (parenthesized_expression "((Bitvec *)apPStack_108)" ( (cast_expression "(Bitvec *)apPStack_108" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) )) [ (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60];" (assignment_expression "psVar59 = (sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60]" identifier = (cast_expression "(sqlite3_vfs *)(&pBStack_1c4->iSize)[(int)pBVar60]" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(&pBStack_1c4->iSize)[(int)pBVar60]" (parenthesized_expression "(&pBStack_1c4->iSize)" ( (pointer_expression "&pBStack_1c4->iSize" & (field_expression "pBStack_1c4->iSize" identifier -> field_identifier)) )) [ (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "uVar30 = (uint)psVar37 & 0xffff;" (assignment_expression "uVar30 = (uint)psVar37 & 0xffff" identifier = (binary_expression "(uint)psVar37 & 0xffff" (cast_expression "(uint)psVar37" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize;" (assignment_expression "ppsVar17 = (sqlite3_vfs **)&pBVar56->iSize" identifier = (cast_expression "(sqlite3_vfs **)&pBVar56->iSize" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier)))) ;) (expression_statement "*(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37;" (assignment_expression "*(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2) = (short)psVar37" (pointer_expression "*(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2)" * (cast_expression "(short *)((int)(u32 *)auStack_cc[3] + PVar27 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + PVar27 * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + PVar27 * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "PVar27 * 2" identifier * number_literal)) )))) = (cast_expression "(short)psVar37" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30);" (assignment_expression "pBVar56 = (Bitvec *)((int)&pBVar56->iSize + uVar30)" identifier = (cast_expression "(Bitvec *)((int)&pBVar56->iSize + uVar30)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar56->iSize + uVar30)" ( (binary_expression "(int)&pBVar56->iSize + uVar30" (cast_expression "(int)&pBVar56->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30);" (assignment_expression "iVar31 = (*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30)" identifier = (call_expression "(*pcVar61)((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30)" (parenthesized_expression "(*pcVar61)" ( (pointer_expression "*pcVar61" * identifier) )) (argument_list "((byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize),psVar59,uVar30)" ( (cast_expression "(byte *)((int)ppsVar17 + (int)&pBStack_1f4->iSize)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar17 + (int)&pBStack_1f4->iSize)" ( (binary_expression "(int)ppsVar17 + (int)&pBStack_1f4->iSize" (cast_expression "(int)ppsVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)&pBStack_1f4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f4->iSize" & (field_expression "pBStack_1f4->iSize" identifier -> field_identifier)))) ))) , identifier , identifier )))) ;) (expression_statement "((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0;" (assignment_expression "((u32 *)auStack_cc[2])[auStack_cc[0]] = iVar31 + (int)ppBStack_1e0" (subscript_expression "((u32 *)auStack_cc[2])[auStack_cc[0]]" (parenthesized_expression "((u32 *)auStack_cc[2])" ( (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) [ (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) ]) = (binary_expression "iVar31 + (int)ppBStack_1e0" identifier + (cast_expression "(int)ppBStack_1e0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);" (assignment_expression "psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" identifier = (cast_expression "(short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "auStack_cc[0] * 2" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) * number_literal)) )))) ;) (expression_statement "*psVar13 = *psVar13 - (short)ppBStack_1e0;" (assignment_expression "*psVar13 = *psVar13 - (short)ppBStack_1e0" (pointer_expression "*psVar13" * identifier) = (binary_expression "*psVar13 - (short)ppBStack_1e0" (pointer_expression "*psVar13" * identifier) - (cast_expression "(short)ppBStack_1e0" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (if_statement "if (*(byte *)&pBVar54->iDivisor == 0) {\n      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;\nLAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }\n    else {\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }" if (parenthesized_expression "(*(byte *)&pBVar54->iDivisor == 0)" ( (binary_expression "*(byte *)&pBVar54->iDivisor == 0" (pointer_expression "*(byte *)&pBVar54->iDivisor" * (cast_expression "(byte *)&pBVar54->iDivisor" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar54->iDivisor" & (field_expression "pBVar54->iDivisor" identifier -> field_identifier)))) == number_literal) )) (compound_statement "{\n      *(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;\nLAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }" { (expression_statement "*(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor;" (assignment_expression "*(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]] = (pBVar54->u).apSub[0xb]->iDivisor" (pointer_expression "*(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]]" * (cast_expression "(u32 *)((u32 *)auStack_cc[2])[auStack_cc[0]]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((u32 *)auStack_cc[2])[auStack_cc[0]]" (parenthesized_expression "((u32 *)auStack_cc[2])" ( (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) [ (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) ]))) = (field_expression "(pBVar54->u).apSub[0xb]->iDivisor" (subscript_expression "(pBVar54->u).apSub[0xb]" (field_expression "(pBVar54->u).apSub" (parenthesized_expression "(pBVar54->u)" ( (field_expression "pBVar54->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) -> field_identifier)) ;) (labeled_statement "LAB_000a4864:\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);" statement_identifier : (expression_statement "auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);" (assignment_expression "auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1)" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) = (call_expression "(uint)((int)(u32 *)auStack_cc[0] + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(u32 *)auStack_cc[0] + 1)" ( (binary_expression "(int)(u32 *)auStack_cc[0] + 1" (cast_expression "(int)(u32 *)auStack_cc[0]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[0]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) + number_literal) )))) ;)) }) (else_clause "else {\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }" else (compound_statement "{\n      if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;\n      do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);\n      auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);\n    }" { (if_statement "if (3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)) goto LAB_000a4864;" if (parenthesized_expression "(3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2))" ( (binary_expression "3 < *(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" number_literal < (pointer_expression "*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" * (cast_expression "(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "auStack_cc[0] * 2" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) * number_literal)) ))))) )) (goto_statement "goto LAB_000a4864;" goto statement_identifier ;)) (do_statement "do {\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      } while (*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4);" do (compound_statement "{\n        pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n        *(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;\n        psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);\n        *psVar13 = *psVar13 + 1;\n      }" { (expression_statement "pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);" (assignment_expression "pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar56->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar56->iSize + 1)" ( (binary_expression "(int)&pBVar56->iSize + 1" (cast_expression "(int)&pBVar56->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;" (assignment_expression "*(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)) = 0" (pointer_expression "*(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1))" * (cast_expression "(byte *)((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1))" ( (binary_expression "(int)pBVar56 + (int)((int)&pBStack_1f4->iSize + -1)" (cast_expression "(int)pBVar56" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)((int)&pBStack_1f4->iSize + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBStack_1f4->iSize + -1)" ( (binary_expression "(int)&pBStack_1f4->iSize + -1" (cast_expression "(int)&pBStack_1f4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f4->iSize" & (field_expression "pBStack_1f4->iSize" identifier -> field_identifier))) + number_literal) )))) )))) = number_literal) ;) (expression_statement "psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2);" (assignment_expression "psVar13 = (short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" identifier = (cast_expression "(short *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "auStack_cc[0] * 2" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) * number_literal)) )))) ;) (expression_statement "*psVar13 = *psVar13 + 1;" (assignment_expression "*psVar13 = *psVar13 + 1" (pointer_expression "*psVar13" * identifier) = (binary_expression "*psVar13 + 1" (pointer_expression "*psVar13" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4)" ( (binary_expression "*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2) < 4" (pointer_expression "*(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" * (cast_expression "(ushort *)((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + auStack_cc[0] * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "auStack_cc[0] * 2" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) * number_literal)) )))) < number_literal) )) ;) (expression_statement "auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1);" (assignment_expression "auStack_cc[0] = (uint)((int)(u32 *)auStack_cc[0] + 1)" (subscript_expression "auStack_cc[0]" identifier [ number_literal ]) = (call_expression "(uint)((int)(u32 *)auStack_cc[0] + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(u32 *)auStack_cc[0] + 1)" ( (binary_expression "(int)(u32 *)auStack_cc[0] + 1" (cast_expression "(int)(u32 *)auStack_cc[0]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[0]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) + number_literal) )))) ;) }))) (if_statement "if ((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc) goto LAB_000a487c;" if (parenthesized_expression "((Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc)" ( (binary_expression "(Bitvec *)((int)&pBVar60->iSize + 1) == pBStack_1bc" (cast_expression "(Bitvec *)((int)&pBVar60->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar60->iSize + 1)" ( (binary_expression "(int)&pBVar60->iSize + 1" (cast_expression "(int)&pBVar60->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar60->iSize" & (field_expression "pBVar60->iSize" identifier -> field_identifier))) + number_literal) ))) == identifier) )) (goto_statement "goto LAB_000a487c;" goto statement_identifier ;)) (labeled_statement "LAB_000a46ac:\n    ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;" statement_identifier : (expression_statement "ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize;" (assignment_expression "ppsVar17 = (sqlite3_vfs **)&pBVar60->iSize" identifier = (cast_expression "(sqlite3_vfs **)&pBVar60->iSize" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pBVar60->iSize" & (field_expression "pBVar60->iSize" identifier -> field_identifier)))) ;)) (expression_statement "pBVar60 = (Bitvec *)((int)ppsVar17 + 1);" (assignment_expression "pBVar60 = (Bitvec *)((int)ppsVar17 + 1)" identifier = (cast_expression "(Bitvec *)((int)ppsVar17 + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppsVar17 + 1)" ( (binary_expression "(int)ppsVar17 + 1" (cast_expression "(int)ppsVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar39 = pbVar39 + 4;" (assignment_expression "pbVar39 = pbVar39 + 4" identifier = (binary_expression "pbVar39 + 4" identifier + number_literal)) ;) (expression_statement "pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)];" (assignment_expression "pBVar54 = (Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)]" identifier = (cast_expression "(Bitvec *)apsStack_150[(int)((int)ppsVar17 + 1)]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apsStack_150[(int)((int)ppsVar17 + 1)]" identifier [ (cast_expression "(int)((int)ppsVar17 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppsVar17 + 1)" ( (binary_expression "(int)ppsVar17 + 1" (cast_expression "(int)ppsVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ]))) ;) (expression_statement "pBVar52 = (pBVar54->u).apSub[0xb];" (assignment_expression "pBVar52 = (pBVar54->u).apSub[0xb]" identifier = (subscript_expression "(pBVar54->u).apSub[0xb]" (field_expression "(pBVar54->u).apSub" (parenthesized_expression "(pBVar54->u)" ( (field_expression "pBVar54->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "uVar2 = *(ushort *)((int)&pBVar54->u + 10);" (assignment_expression "uVar2 = *(ushort *)((int)&pBVar54->u + 10)" identifier = (pointer_expression "*(ushort *)((int)&pBVar54->u + 10)" * (cast_expression "(ushort *)((int)&pBVar54->u + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->u + 10)" ( (binary_expression "(int)&pBVar54->u + 10" (cast_expression "(int)&pBVar54->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->u" & (field_expression "pBVar54->u" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6));" (assignment_expression "pBVar53 = (Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6))" identifier = (cast_expression "(Bitvec *)((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6))" ( (binary_expression "(int)&pBVar52->iSize + (uint)*(ushort *)((int)&pBVar54->u + 6)" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + (binary_expression "(uint)*(ushort *)((int)&pBVar54->u + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)&pBVar54->u + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->u + 6)" ( (binary_expression "(int)&pBVar54->u + 6" (cast_expression "(int)&pBVar54->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->u" & (field_expression "pBVar54->u" identifier -> field_identifier))) + number_literal) ))))) )))) ;) (expression_statement "uVar3 = *(ushort *)((int)&pBVar54->u + 0xc);" (assignment_expression "uVar3 = *(ushort *)((int)&pBVar54->u + 0xc)" identifier = (pointer_expression "*(ushort *)((int)&pBVar54->u + 0xc)" * (cast_expression "(ushort *)((int)&pBVar54->u + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->u + 0xc)" ( (binary_expression "(int)&pBVar54->u + 0xc" (cast_expression "(int)&pBVar54->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->u" & (field_expression "pBVar54->u" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)\n    goto LAB_000a46e0;" if (parenthesized_expression "(*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize)" ( (binary_expression "*(char *)&pBVar52->iSize !=\n        *(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" (pointer_expression "*(char *)&pBVar52->iSize" * (cast_expression "(char *)&pBVar52->iSize" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier)))) != (pointer_expression "*(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" * (cast_expression "(char *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" & (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->iSize" (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[0]->pNext" & (field_expression "apsStack_150[0]->pNext" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ]) -> field_identifier))))) )) (goto_statement "goto LAB_000a46e0;" goto statement_identifier ;)) (goto_statement "goto LAB_000a45ec;" goto statement_identifier ;) })) (if_statement "if ((Bitvec *)((int)&pBVar60->iSize + 1) != pBStack_1bc) goto LAB_000a46ac;" if (parenthesized_expression "((Bitvec *)((int)&pBVar60->iSize + 1) != pBStack_1bc)" ( (binary_expression "(Bitvec *)((int)&pBVar60->iSize + 1) != pBStack_1bc" (cast_expression "(Bitvec *)((int)&pBVar60->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar60->iSize + 1)" ( (binary_expression "(int)&pBVar60->iSize + 1" (cast_expression "(int)&pBVar60->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar60->iSize" & (field_expression "pBVar60->iSize" identifier -> field_identifier))) + number_literal) ))) != identifier) )) (goto_statement "goto LAB_000a46ac;" goto statement_identifier ;)) (labeled_statement "LAB_000a487c:\n  pBStack_1f4 = (Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU));" statement_identifier : (expression_statement "pBStack_1f4 = (Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU));" (assignment_expression "pBStack_1f4 = (Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU))" identifier = (cast_expression "(Bitvec *)((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU))" ( (binary_expression "(int)ppBStack_1e0 + ((int)(pBVar8->u).apSub[6] - 0xcU)" (cast_expression "(int)ppBStack_1e0" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pBVar8->u).apSub[6] - 0xcU)" ( (binary_expression "(int)(pBVar8->u).apSub[6] - 0xcU" (cast_expression "(int)(pBVar8->u).apSub[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(pBVar8->u).apSub[6]" (field_expression "(pBVar8->u).apSub" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) - number_literal) ))) )))) ;)) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "pBStack_1a8 = (Bitvec *)abStack_130;" (assignment_expression "pBStack_1a8 = (Bitvec *)abStack_130" identifier = (cast_expression "(Bitvec *)abStack_130" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBVar53 = (Bitvec *)apPStack_108;" (assignment_expression "pBVar53 = (Bitvec *)apPStack_108" identifier = (cast_expression "(Bitvec *)apPStack_108" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (expression_statement "pBVar52 = (Bitvec *)apsStack_150[0];" (assignment_expression "pBVar52 = (Bitvec *)apsStack_150[0]" identifier = (cast_expression "(Bitvec *)apsStack_150[0]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apsStack_150[0]" identifier [ number_literal ]))) ;) (while_statement "while( true ) {\n    uVar30 = (pBVar52->u).aHash[0xc];\n    uVar26 = *(uint *)(pbStack_1c0 + iVar31);\n    auStack_cc[iVar18 + 10] = uVar26;\n    auStack_cc[iVar18 + 4] = uVar30;\n    iVar20 = iVar18 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];\n      auStack_cc[iVar18 + 0xb] = uVar26 + 1;\n      iVar20 = iVar18 + 2;\n    }\n    iVar18 = iVar20;\n    uVar25 = (pBVar52->u).aBitmap[0];\n    psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8));\n    pBVar53->iSize = (u32)psVar59;\n    if (uVar25 != '\0') {\n      pwVar34 = (word *)((pBVar52->u).aHash + 6);\n      iVar20 = 0;\n      do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);\n    }\n    *(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26;\n    if (iStack_1d0 == iVar31) break;\n    pBVar53 = (Bitvec *)&pBVar53->nSet;\n    pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4);\n    iVar31 = iVar31 + 4;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar30 = (pBVar52->u).aHash[0xc];\n    uVar26 = *(uint *)(pbStack_1c0 + iVar31);\n    auStack_cc[iVar18 + 10] = uVar26;\n    auStack_cc[iVar18 + 4] = uVar30;\n    iVar20 = iVar18 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];\n      auStack_cc[iVar18 + 0xb] = uVar26 + 1;\n      iVar20 = iVar18 + 2;\n    }\n    iVar18 = iVar20;\n    uVar25 = (pBVar52->u).aBitmap[0];\n    psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8));\n    pBVar53->iSize = (u32)psVar59;\n    if (uVar25 != '\0') {\n      pwVar34 = (word *)((pBVar52->u).aHash + 6);\n      iVar20 = 0;\n      do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);\n    }\n    *(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26;\n    if (iStack_1d0 == iVar31) break;\n    pBVar53 = (Bitvec *)&pBVar53->nSet;\n    pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4);\n    iVar31 = iVar31 + 4;\n  }" { (expression_statement "uVar30 = (pBVar52->u).aHash[0xc];" (assignment_expression "uVar30 = (pBVar52->u).aHash[0xc]" identifier = (subscript_expression "(pBVar52->u).aHash[0xc]" (field_expression "(pBVar52->u).aHash" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "uVar26 = *(uint *)(pbStack_1c0 + iVar31);" (assignment_expression "uVar26 = *(uint *)(pbStack_1c0 + iVar31)" identifier = (pointer_expression "*(uint *)(pbStack_1c0 + iVar31)" * (cast_expression "(uint *)(pbStack_1c0 + iVar31)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + iVar31)" ( (binary_expression "pbStack_1c0 + iVar31" identifier + identifier) ))))) ;) (expression_statement "auStack_cc[iVar18 + 10] = uVar26;" (assignment_expression "auStack_cc[iVar18 + 10] = uVar26" (subscript_expression "auStack_cc[iVar18 + 10]" identifier [ (binary_expression "iVar18 + 10" identifier + number_literal) ]) = identifier) ;) (expression_statement "auStack_cc[iVar18 + 4] = uVar30;" (assignment_expression "auStack_cc[iVar18 + 4] = uVar30" (subscript_expression "auStack_cc[iVar18 + 4]" identifier [ (binary_expression "iVar18 + 4" identifier + number_literal) ]) = identifier) ;) (expression_statement "iVar20 = iVar18 + 1;" (assignment_expression "iVar20 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];\n      auStack_cc[iVar18 + 0xb] = uVar26 + 1;\n      iVar20 = iVar18 + 2;\n    }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];\n      auStack_cc[iVar18 + 0xb] = uVar26 + 1;\n      iVar20 = iVar18 + 2;\n    }" { (expression_statement "auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc];" (assignment_expression "auStack_cc[iVar18 + 5] = (uint)(pTo->u).aHash[0xc]" (subscript_expression "auStack_cc[iVar18 + 5]" identifier [ (binary_expression "iVar18 + 5" identifier + number_literal) ]) = (subscript_expression "(uint)(pTo->u).aHash[0xc]" (field_expression "(uint)(pTo->u).aHash" (call_expression "(uint)(pTo->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ])) ;) (expression_statement "auStack_cc[iVar18 + 0xb] = uVar26 + 1;" (assignment_expression "auStack_cc[iVar18 + 0xb] = uVar26 + 1" (subscript_expression "auStack_cc[iVar18 + 0xb]" identifier [ (binary_expression "iVar18 + 0xb" identifier + number_literal) ]) = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar18 + 2;" (assignment_expression "iVar20 = iVar18 + 2" identifier = (binary_expression "iVar18 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar18 = iVar20;" (assignment_expression "iVar18 = iVar20" identifier = identifier) ;) (expression_statement "uVar25 = (pBVar52->u).aBitmap[0];" (assignment_expression "uVar25 = (pBVar52->u).aBitmap[0]" identifier = (subscript_expression "(pBVar52->u).aBitmap[0]" (field_expression "(pBVar52->u).aBitmap" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8));" (assignment_expression "psVar59 = (sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8))" identifier = (cast_expression "(sqlite3_vfs *)((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8))" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8))" ( (binary_expression "(int)pBStack_1f4 - (uint)*(ushort *)((int)&pBVar52->u + 8)" (cast_expression "(int)pBStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "(uint)*(ushort *)((int)&pBVar52->u + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)&pBVar52->u + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->u + 8)" ( (binary_expression "(int)&pBVar52->u + 8" (cast_expression "(int)&pBVar52->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->u" & (field_expression "pBVar52->u" identifier -> field_identifier))) + number_literal) ))))) )))) ;) (expression_statement "pBVar53->iSize = (u32)psVar59;" (assignment_expression "pBVar53->iSize = (u32)psVar59" (field_expression "pBVar53->iSize" identifier -> field_identifier) = (cast_expression "(u32)psVar59" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (if_statement "if (uVar25 != '\0') {\n      pwVar34 = (word *)((pBVar52->u).aHash + 6);\n      iVar20 = 0;\n      do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);\n    }" if (parenthesized_expression "(uVar25 != '\0')" ( (binary_expression "uVar25 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pwVar34 = (word *)((pBVar52->u).aHash + 6);\n      iVar20 = 0;\n      do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);\n    }" { (expression_statement "pwVar34 = (word *)((pBVar52->u).aHash + 6);" (assignment_expression "pwVar34 = (word *)((pBVar52->u).aHash + 6)" identifier = (cast_expression "(word *)((pBVar52->u).aHash + 6)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pBVar52->u).aHash + 6)" ( (binary_expression "(pBVar52->u).aHash + 6" (field_expression "(pBVar52->u).aHash" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      } while (iVar20 < (int)(uint)bVar1);" do (compound_statement "{\n        uVar32 = *(undefined4 *)pwVar34;\n        iVar20 = iVar20 + 1;\n        pwVar34 = pwVar34 + 2;\n        iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);\n        bVar1 = (pBVar52->u).aBitmap[0];\n        psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);\n        pBVar53->iSize = (u32)psVar59;\n      }" { (expression_statement "uVar32 = *(undefined4 *)pwVar34;" (assignment_expression "uVar32 = *(undefined4 *)pwVar34" identifier = (pointer_expression "*(undefined4 *)pwVar34" * (cast_expression "(undefined4 *)pwVar34" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "pwVar34 = pwVar34 + 2;" (assignment_expression "pwVar34 = pwVar34 + 2" identifier = (binary_expression "pwVar34 + 2" identifier + number_literal)) ;) (expression_statement "iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32);" (assignment_expression "iVar40 = (*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32)" identifier = (call_expression "(*(code *)(pBVar52->u).aHash[0x10])(pBVar52,uVar32)" (parenthesized_expression "(*(code *)(pBVar52->u).aHash[0x10])" ( (pointer_expression "*(code *)(pBVar52->u).aHash[0x10]" * (cast_expression "(code *)(pBVar52->u).aHash[0x10]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pBVar52->u).aHash[0x10]" (field_expression "(pBVar52->u).aHash" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) )) (argument_list "(pBVar52,uVar32)" ( identifier , identifier )))) ;) (expression_statement "bVar1 = (pBVar52->u).aBitmap[0];" (assignment_expression "bVar1 = (pBVar52->u).aBitmap[0]" identifier = (subscript_expression "(pBVar52->u).aBitmap[0]" (field_expression "(pBVar52->u).aBitmap" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66);" (assignment_expression "psVar59 = (sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66)" identifier = (cast_expression "(sqlite3_vfs *)((int)psVar59 + 0x68 + iVar40 + -0x66)" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar59 + 0x68 + iVar40 + -0x66)" ( (binary_expression "(int)psVar59 + 0x68 + iVar40 + -0x66" (binary_expression "(int)psVar59 + 0x68 + iVar40" (binary_expression "(int)psVar59 + 0x68" (cast_expression "(int)psVar59" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + identifier) + number_literal) )))) ;) (expression_statement "pBVar53->iSize = (u32)psVar59;" (assignment_expression "pBVar53->iSize = (u32)psVar59" (field_expression "pBVar53->iSize" identifier -> field_identifier) = (cast_expression "(u32)psVar59" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(iVar20 < (int)(uint)bVar1)" ( (binary_expression "iVar20 < (int)(uint)bVar1" identifier < (cast_expression "(int)(uint)bVar1" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ;) })) (expression_statement "*(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26;" (assignment_expression "*(uint *)((int)&pBStack_1a8->iSize + iVar31) = uVar26" (pointer_expression "*(uint *)((int)&pBStack_1a8->iSize + iVar31)" * (cast_expression "(uint *)((int)&pBStack_1a8->iSize + iVar31)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1a8->iSize + iVar31)" ( (binary_expression "(int)&pBStack_1a8->iSize + iVar31" (cast_expression "(int)&pBStack_1a8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1a8->iSize" & (field_expression "pBStack_1a8->iSize" identifier -> field_identifier))) + identifier) )))) = identifier) ;) (if_statement "if (iStack_1d0 == iVar31) break;" if (parenthesized_expression "(iStack_1d0 == iVar31)" ( (binary_expression "iStack_1d0 == iVar31" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pBVar53 = (Bitvec *)&pBVar53->nSet;" (assignment_expression "pBVar53 = (Bitvec *)&pBVar53->nSet" identifier = (cast_expression "(Bitvec *)&pBVar53->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar53->nSet" & (field_expression "pBVar53->nSet" identifier -> field_identifier)))) ;) (expression_statement "pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4);" (assignment_expression "pBVar52 = *(Bitvec **)((int)apsStack_150 + iVar31 + 4)" identifier = (pointer_expression "*(Bitvec **)((int)apsStack_150 + iVar31 + 4)" * (cast_expression "(Bitvec **)((int)apsStack_150 + iVar31 + 4)" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)apsStack_150 + iVar31 + 4)" ( (binary_expression "(int)apsStack_150 + iVar31 + 4" (binary_expression "(int)apsStack_150 + iVar31" (cast_expression "(int)apsStack_150" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "iVar31 = iVar31 + 4;" (assignment_expression "iVar31 = iVar31 + 4" identifier = (binary_expression "iVar31 + 4" identifier + number_literal)) ;) })) (expression_statement "pBStack_1e8 = (Bitvec *)auStack_cc;" (assignment_expression "pBStack_1e8 = (Bitvec *)auStack_cc" identifier = (cast_expression "(Bitvec *)auStack_cc" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_1ec = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);" (assignment_expression "pBStack_1ec = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar57 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar57 + 0xb753c)" * (cast_expression "(int *)(puVar57 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb753c)" ( (binary_expression "puVar57 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBVar52 = (Bitvec *)0x1;" (assignment_expression "pBVar52 = (Bitvec *)0x1" identifier = (cast_expression "(Bitvec *)0x1" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar53 = (Bitvec *)0x2;" (assignment_expression "pBVar53 = (Bitvec *)0x2" identifier = (cast_expression "(Bitvec *)0x2" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar19 = pBStack_1a8;" (assignment_expression "pBVar19 = pBStack_1a8" identifier = identifier) ;) (expression_statement "pBVar60 = (Bitvec *)apPStack_108;" (assignment_expression "pBVar60 = (Bitvec *)apPStack_108" identifier = (cast_expression "(Bitvec *)apPStack_108" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_1f0 = (Bitvec *)0x0;" (assignment_expression "pBStack_1f0 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n    pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499);\n    pBStack_1b8 = (Bitvec *)0x0;\n    pBVar54 = pBVar51;\n    pBVar47 = pBVar51;\n    pBVar56 = pBVar19;\n    pBStack_1b0 = pBVar8;\n    if ((int)pBStack_1f4 < (int)pBVar60->iSize) {\n      do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);\n    }\n    else {\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }\n    puVar35 = (undefined1 *)auStack_cc[0];\n    if ((int)auStack_cc[0] <= (int)pBVar54) break;\n    while( true ) {\n      iVar31 = (int)pBVar54 * 2;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }\n      iVar18 = uVar30 + 2;\n      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));\n      if ((int)pBStack_1f4 < (int)psVar59) break;\n      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);\n      pBVar60->iSize = (u32)psVar59;\n      pBVar19->iSize = (u32)pBVar54;\n      bVar5 = (int)pBVar54 < (int)puVar35;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }\n      pBVar60->nSet = pBVar60->nSet - iVar18;\n      if (!bVar5) goto LAB_000a4c3c;\n    }\n    if ((int)puVar35 <= (int)pBVar54) break;\n    uVar14 = 0;\n    if (pBStack_1c4 != (Bitvec *)0x0) {\n      uVar14 = pBVar19[-1].u.aHash[0x7c];\n    }\n    bVar5 = (int)pBVar51 <= (int)pBVar52;\n    pBStack_1f0 = pBVar51;\n    if ((int)pBVar54 <= (int)uVar14) {\n      uVar32 = 0x11498;\n      pBVar56 = pBVar19;\n      pBStack_1d4 = pBStack_1a8;\n      pBStack_1b8 = pBStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n    pBVar60 = (Bitvec *)&pBVar60->nSet;\n    pBVar19 = (Bitvec *)&pBVar19->nSet;\n    pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1);\n    if (bVar5) {\n      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      pBVar52 = pBVar51;\n      break;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499);\n    pBStack_1b8 = (Bitvec *)0x0;\n    pBVar54 = pBVar51;\n    pBVar47 = pBVar51;\n    pBVar56 = pBVar19;\n    pBStack_1b0 = pBVar8;\n    if ((int)pBStack_1f4 < (int)pBVar60->iSize) {\n      do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);\n    }\n    else {\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }\n    puVar35 = (undefined1 *)auStack_cc[0];\n    if ((int)auStack_cc[0] <= (int)pBVar54) break;\n    while( true ) {\n      iVar31 = (int)pBVar54 * 2;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }\n      iVar18 = uVar30 + 2;\n      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));\n      if ((int)pBStack_1f4 < (int)psVar59) break;\n      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);\n      pBVar60->iSize = (u32)psVar59;\n      pBVar19->iSize = (u32)pBVar54;\n      bVar5 = (int)pBVar54 < (int)puVar35;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }\n      pBVar60->nSet = pBVar60->nSet - iVar18;\n      if (!bVar5) goto LAB_000a4c3c;\n    }\n    if ((int)puVar35 <= (int)pBVar54) break;\n    uVar14 = 0;\n    if (pBStack_1c4 != (Bitvec *)0x0) {\n      uVar14 = pBVar19[-1].u.aHash[0x7c];\n    }\n    bVar5 = (int)pBVar51 <= (int)pBVar52;\n    pBStack_1f0 = pBVar51;\n    if ((int)pBVar54 <= (int)uVar14) {\n      uVar32 = 0x11498;\n      pBVar56 = pBVar19;\n      pBStack_1d4 = pBStack_1a8;\n      pBStack_1b8 = pBStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n    pBVar60 = (Bitvec *)&pBVar60->nSet;\n    pBVar19 = (Bitvec *)&pBVar19->nSet;\n    pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1);\n    if (bVar5) {\n      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      pBVar52 = pBVar51;\n      break;\n    }\n  }" { (expression_statement "pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499);" (assignment_expression "pBStack_1c4 = (Bitvec *)((int)&pBVar52[-1].u + 499)" identifier = (cast_expression "(Bitvec *)((int)&pBVar52[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52[-1].u + 499)" ( (binary_expression "(int)&pBVar52[-1].u + 499" (cast_expression "(int)&pBVar52[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52[-1].u" & (field_expression "pBVar52[-1].u" (subscript_expression "pBVar52[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBStack_1b8 = (Bitvec *)0x0;" (assignment_expression "pBStack_1b8 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar54 = pBVar51;" (assignment_expression "pBVar54 = pBVar51" identifier = identifier) ;) (expression_statement "pBVar47 = pBVar51;" (assignment_expression "pBVar47 = pBVar51" identifier = identifier) ;) (expression_statement "pBVar56 = pBVar19;" (assignment_expression "pBVar56 = pBVar19" identifier = identifier) ;) (expression_statement "pBStack_1b0 = pBVar8;" (assignment_expression "pBStack_1b0 = pBVar8" identifier = identifier) ;) (if_statement "if ((int)pBStack_1f4 < (int)pBVar60->iSize) {\n      do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);\n    }\n    else {\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }" if (parenthesized_expression "((int)pBStack_1f4 < (int)pBVar60->iSize)" ( (binary_expression "(int)pBStack_1f4 < (int)pBVar60->iSize" (cast_expression "(int)pBStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBVar60->iSize" ( (type_descriptor "int" primitive_type) ) (field_expression "pBVar60->iSize" identifier -> field_identifier))) )) (compound_statement "{\n      do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);\n    }" { (do_statement "do {\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      } while ((int)pBStack_1f4 < (int)psVar59);" do (compound_statement "{\n        pBVar51 = pBVar54;\n        if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }\n        pBVar51 = pBVar47;\n        pBVar56 = (Bitvec *)pBVar19->iSize;\n        pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);\n        pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);\n        uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);\n        if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }\n        iVar31 = uVar30 + 2;\n        psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);\n        pBVar60->iSize = (u32)psVar59;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }\n        PVar27 = pBVar60->nSet;\n        pBVar19->iSize = (u32)pBVar54;\n        pBVar60->nSet = PVar27 + iVar31;\n        pBVar47 = pBVar51;\n      }" { (expression_statement "pBVar51 = pBVar54;" (assignment_expression "pBVar51 = pBVar54" identifier = identifier) ;) (if_statement "if ((int)pBVar47 <= (int)pBVar52) {\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }" if (parenthesized_expression "((int)pBVar47 <= (int)pBVar52)" ( (binary_expression "(int)pBVar47 <= (int)pBVar52" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pBVar60->nSet = 0;\n          pBVar19->nSet = auStack_cc[0];\n          pBVar47 = pBVar53;\n        }" { (if_statement "if (pBVar53 == (Bitvec *)&DAT_00000006) {\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }" if (parenthesized_expression "(pBVar53 == (Bitvec *)&DAT_00000006)" ( (binary_expression "pBVar53 == (Bitvec *)&DAT_00000006" identifier == (cast_expression "(Bitvec *)&DAT_00000006" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) )) (compound_statement "{\n            uVar32 = 0x11477;\n            pBVar54 = (Bitvec *)&DAT_00000006;\n            pBStack_1d4 = pBStack_1a8;\n            pBStack_1b8 = pBStack_1c4;\n            goto LAB_000a46ec;\n          }" { (expression_statement "uVar32 = 0x11477;" (assignment_expression "uVar32 = 0x11477" identifier = number_literal) ;) (expression_statement "pBVar54 = (Bitvec *)&DAT_00000006;" (assignment_expression "pBVar54 = (Bitvec *)&DAT_00000006" identifier = (cast_expression "(Bitvec *)&DAT_00000006" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;) (expression_statement "pBStack_1d4 = pBStack_1a8;" (assignment_expression "pBStack_1d4 = pBStack_1a8" identifier = identifier) ;) (expression_statement "pBStack_1b8 = pBStack_1c4;" (assignment_expression "pBStack_1b8 = pBStack_1c4" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) })) (expression_statement "pBVar60->nSet = 0;" (assignment_expression "pBVar60->nSet = 0" (field_expression "pBVar60->nSet" identifier -> field_identifier) = number_literal) ;) (expression_statement "pBVar19->nSet = auStack_cc[0];" (assignment_expression "pBVar19->nSet = auStack_cc[0]" (field_expression "pBVar19->nSet" identifier -> field_identifier) = (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) ;) (expression_statement "pBVar47 = pBVar53;" (assignment_expression "pBVar47 = pBVar53" identifier = identifier) ;) })) (expression_statement "pBVar51 = pBVar47;" (assignment_expression "pBVar51 = pBVar47" identifier = identifier) ;) (expression_statement "pBVar56 = (Bitvec *)pBVar19->iSize;" (assignment_expression "pBVar56 = (Bitvec *)pBVar19->iSize" identifier = (cast_expression "(Bitvec *)pBVar19->iSize" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar19->iSize" identifier -> field_identifier))) ;) (expression_statement "pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499);" (assignment_expression "pBVar54 = (Bitvec *)((int)&pBVar56[-1].u + 499)" identifier = (cast_expression "(Bitvec *)((int)&pBVar56[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar56[-1].u + 499)" ( (binary_expression "(int)&pBVar56[-1].u + 499" (cast_expression "(int)&pBVar56[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56[-1].u" & (field_expression "pBVar56[-1].u" (subscript_expression "pBVar56[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6);" (assignment_expression "pBVar47 = (Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6)" identifier = (cast_expression "(Bitvec *)((int)&pBVar56[-1].u * 2 + 0x3e6)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar56[-1].u * 2 + 0x3e6)" ( (binary_expression "(int)&pBVar56[-1].u * 2 + 0x3e6" (binary_expression "(int)&pBVar56[-1].u * 2" (cast_expression "(int)&pBVar56[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56[-1].u" & (field_expression "pBVar56[-1].u" (subscript_expression "pBVar56[-1]" identifier [ number_literal ]) . field_identifier))) * number_literal) + number_literal) )))) ;) (expression_statement "uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c);" (assignment_expression "uVar30 = (uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c)" identifier = (binary_expression "(uint)*(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)\n                        ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c)" ( (binary_expression "(int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20c" (binary_expression "(int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)&((Bitvec *)(auStack_cc[3] + 0x200))->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)(auStack_cc[3] + 0x200))->u" & (field_expression "((Bitvec *)(auStack_cc[3] + 0x200))->u" (parenthesized_expression "((Bitvec *)(auStack_cc[3] + 0x200))" ( (cast_expression "(Bitvec *)(auStack_cc[3] + 0x200)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc[3] + 0x200)" ( (binary_expression "auStack_cc[3] + 0x200" (subscript_expression "auStack_cc[3]" identifier [ number_literal ]) + number_literal) ))) )) -> field_identifier)))) + number_literal) ))))) ;) (if_statement "if (uVar30 == 0) {\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }" if (parenthesized_expression "(uVar30 == 0)" ( (binary_expression "uVar30 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          pBStack_1f0 = pBVar47;\n        }" { (expression_statement "uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);" (assignment_expression "uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54)" identifier = (call_expression "(*(code *)pBStack_1ec)(pBStack_1e8,pBVar54)" (parenthesized_expression "(*(code *)pBStack_1ec)" ( (pointer_expression "*(code *)pBStack_1ec" * (cast_expression "(code *)pBStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBStack_1e8,pBVar54)" ( identifier , identifier )))) ;) (expression_statement "pBStack_1f0 = pBVar47;" (assignment_expression "pBStack_1f0 = pBVar47" identifier = identifier) ;) })) (expression_statement "iVar31 = uVar30 + 2;" (assignment_expression "iVar31 = uVar30 + 2" identifier = (binary_expression "uVar30 + 2" identifier + number_literal)) ;) (expression_statement "psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31);" (assignment_expression "psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize - iVar31)" identifier = (cast_expression "(sqlite3_vfs *)((int)pBVar60->iSize - iVar31)" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar60->iSize - iVar31)" ( (binary_expression "(int)pBVar60->iSize - iVar31" (cast_expression "(int)pBVar60->iSize" ( (type_descriptor "int" primitive_type) ) (field_expression "pBVar60->iSize" identifier -> field_identifier)) - identifier) )))) ;) (expression_statement "pBVar60->iSize = (u32)psVar59;" (assignment_expression "pBVar60->iSize = (u32)psVar59" (field_expression "pBVar60->iSize" identifier -> field_identifier) = (cast_expression "(u32)psVar59" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (if_statement "if (((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)) {\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }" if (parenthesized_expression "(((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0))" ( (binary_expression "((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])) &&\n           (uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)" (parenthesized_expression "((pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0]))" ( (binary_expression "(pcStack_1e4 == (code *)0x0) && (iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])" (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0])" ( (comma_expression "iVar31 = 0, (int)pBVar56 < (int)auStack_cc[0]" (assignment_expression "iVar31 = 0" identifier = number_literal) , (binary_expression "(int)pBVar56 < (int)auStack_cc[0]" (cast_expression "(int)pBVar56" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)auStack_cc[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ])))) ))) )) && (parenthesized_expression "(uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0)" ( (comma_expression "uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a),\n           iVar31 = uVar30 + 2, uVar30 == 0" (assignment_expression "uVar30 = (uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a)" identifier = (binary_expression "(uint)*(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)\n                            ((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a)" ( (binary_expression "(int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u + -0x20a" (binary_expression "(int)pBVar47 + (int)&((Bitvec *)(auStack_cc[3] + 0x200))->u" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)&((Bitvec *)(auStack_cc[3] + 0x200))->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)(auStack_cc[3] + 0x200))->u" & (field_expression "((Bitvec *)(auStack_cc[3] + 0x200))->u" (parenthesized_expression "((Bitvec *)(auStack_cc[3] + 0x200))" ( (cast_expression "(Bitvec *)(auStack_cc[3] + 0x200)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc[3] + 0x200)" ( (binary_expression "auStack_cc[3] + 0x200" (subscript_expression "auStack_cc[3]" identifier [ number_literal ]) + number_literal) ))) )) -> field_identifier)))) + number_literal) ))))) , (comma_expression "iVar31 = uVar30 + 2, uVar30 == 0" (assignment_expression "iVar31 = uVar30 + 2" identifier = (binary_expression "uVar30 + 2" identifier + number_literal)) , (binary_expression "uVar30 == 0" identifier == number_literal))) ))) )) (compound_statement "{\n          iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);\n          iVar31 = iVar31 + 2;\n        }" { (expression_statement "iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56);" (assignment_expression "iVar31 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar56)" identifier = (call_expression "(*(code *)pBStack_1ec)(pBStack_1e8,pBVar56)" (parenthesized_expression "(*(code *)pBStack_1ec)" ( (pointer_expression "*(code *)pBStack_1ec" * (cast_expression "(code *)pBStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBStack_1e8,pBVar56)" ( identifier , identifier )))) ;) (expression_statement "iVar31 = iVar31 + 2;" (assignment_expression "iVar31 = iVar31 + 2" identifier = (binary_expression "iVar31 + 2" identifier + number_literal)) ;) })) (expression_statement "PVar27 = pBVar60->nSet;" (assignment_expression "PVar27 = pBVar60->nSet" identifier = (field_expression "pBVar60->nSet" identifier -> field_identifier)) ;) (expression_statement "pBVar19->iSize = (u32)pBVar54;" (assignment_expression "pBVar19->iSize = (u32)pBVar54" (field_expression "pBVar19->iSize" identifier -> field_identifier) = (cast_expression "(u32)pBVar54" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "pBVar60->nSet = PVar27 + iVar31;" (assignment_expression "pBVar60->nSet = PVar27 + iVar31" (field_expression "pBVar60->nSet" identifier -> field_identifier) = (binary_expression "PVar27 + iVar31" identifier + identifier)) ;) (expression_statement "pBVar47 = pBVar51;" (assignment_expression "pBVar47 = pBVar51" identifier = identifier) ;) }) while (parenthesized_expression "((int)pBStack_1f4 < (int)psVar59)" ( (binary_expression "(int)pBStack_1f4 < (int)psVar59" (cast_expression "(int)pBStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psVar59" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }) (else_clause "else {\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }" else (compound_statement "{\n      pBVar54 = (Bitvec *)pBVar19->iSize;\n    }" { (expression_statement "pBVar54 = (Bitvec *)pBVar19->iSize;" (assignment_expression "pBVar54 = (Bitvec *)pBVar19->iSize" identifier = (cast_expression "(Bitvec *)pBVar19->iSize" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar19->iSize" identifier -> field_identifier))) ;) }))) (expression_statement "puVar35 = (undefined1 *)auStack_cc[0];" (assignment_expression "puVar35 = (undefined1 *)auStack_cc[0]" identifier = (cast_expression "(undefined1 *)auStack_cc[0]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) ;) (if_statement "if ((int)auStack_cc[0] <= (int)pBVar54) break;" if (parenthesized_expression "((int)auStack_cc[0] <= (int)pBVar54)" ( (binary_expression "(int)auStack_cc[0] <= (int)pBVar54" (cast_expression "(int)auStack_cc[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) <= (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (while_statement "while( true ) {\n      iVar31 = (int)pBVar54 * 2;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }\n      iVar18 = uVar30 + 2;\n      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));\n      if ((int)pBStack_1f4 < (int)psVar59) break;\n      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);\n      pBVar60->iSize = (u32)psVar59;\n      pBVar19->iSize = (u32)pBVar54;\n      bVar5 = (int)pBVar54 < (int)puVar35;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }\n      pBVar60->nSet = pBVar60->nSet - iVar18;\n      if (!bVar5) goto LAB_000a4c3c;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar31 = (int)pBVar54 * 2;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }\n      iVar18 = uVar30 + 2;\n      psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));\n      if ((int)pBStack_1f4 < (int)psVar59) break;\n      pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);\n      pBVar60->iSize = (u32)psVar59;\n      pBVar19->iSize = (u32)pBVar54;\n      bVar5 = (int)pBVar54 < (int)puVar35;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }\n      pBVar60->nSet = pBVar60->nSet - iVar18;\n      if (!bVar5) goto LAB_000a4c3c;\n    }" { (expression_statement "iVar31 = (int)pBVar54 * 2;" (assignment_expression "iVar31 = (int)pBVar54 * 2" identifier = (binary_expression "(int)pBVar54 * 2" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31);" (assignment_expression "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31)" identifier = (binary_expression "(uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)(u32 *)auStack_cc[3] + iVar31)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + iVar31)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + iVar31" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + identifier) ))))) ;) (if_statement "if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }" if (parenthesized_expression "(uVar30 == 0)" ( (binary_expression "uVar30 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n        puVar35 = (undefined1 *)auStack_cc[0];\n      }" { (expression_statement "uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);" (assignment_expression "uVar30 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54)" identifier = (call_expression "(*(code *)pBStack_1ec)(pBStack_1e8,pBVar54)" (parenthesized_expression "(*(code *)pBStack_1ec)" ( (pointer_expression "*(code *)pBStack_1ec" * (cast_expression "(code *)pBStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBStack_1e8,pBVar54)" ( identifier , identifier )))) ;) (expression_statement "puVar35 = (undefined1 *)auStack_cc[0];" (assignment_expression "puVar35 = (undefined1 *)auStack_cc[0]" identifier = (cast_expression "(undefined1 *)auStack_cc[0]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar18 = uVar30 + 2;" (assignment_expression "iVar18 = uVar30 + 2" identifier = (binary_expression "uVar30 + 2" identifier + number_literal)) ;) (expression_statement "psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66));" (assignment_expression "psVar59 = (sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66))" identifier = (cast_expression "(sqlite3_vfs *)((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66))" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar60->iSize + 0x68 + (uVar30 - 0x66))" ( (binary_expression "(int)pBVar60->iSize + 0x68 + (uVar30 - 0x66)" (binary_expression "(int)pBVar60->iSize + 0x68" (cast_expression "(int)pBVar60->iSize" ( (type_descriptor "int" primitive_type) ) (field_expression "pBVar60->iSize" identifier -> field_identifier)) + number_literal) + (parenthesized_expression "(uVar30 - 0x66)" ( (binary_expression "uVar30 - 0x66" identifier - number_literal) ))) )))) ;) (if_statement "if ((int)pBStack_1f4 < (int)psVar59) break;" if (parenthesized_expression "((int)pBStack_1f4 < (int)psVar59)" ( (binary_expression "(int)pBStack_1f4 < (int)psVar59" (cast_expression "(int)pBStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psVar59" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1);" (assignment_expression "pBVar54 = (Bitvec *)((int)&pBVar54->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar54->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar54->iSize + 1)" ( (binary_expression "(int)&pBVar54->iSize + 1" (cast_expression "(int)&pBVar54->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar54->iSize" & (field_expression "pBVar54->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar60->iSize = (u32)psVar59;" (assignment_expression "pBVar60->iSize = (u32)psVar59" (field_expression "pBVar60->iSize" identifier -> field_identifier) = (cast_expression "(u32)psVar59" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "pBVar19->iSize = (u32)pBVar54;" (assignment_expression "pBVar19->iSize = (u32)pBVar54" (field_expression "pBVar19->iSize" identifier -> field_identifier) = (cast_expression "(u32)pBVar54" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "bVar5 = (int)pBVar54 < (int)puVar35;" (assignment_expression "bVar5 = (int)pBVar54 < (int)puVar35" identifier = (binary_expression "(int)pBVar54 < (int)puVar35" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (!bVar5) goto LAB_000a4c3c;\n        uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);\n        iVar18 = uVar30 + 2;\n        if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }\n      }" { (if_statement "if (!bVar5) goto LAB_000a4c3c;" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (goto_statement "goto LAB_000a4c3c;" goto statement_identifier ;)) (expression_statement "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2);" (assignment_expression "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2)" identifier = (binary_expression "(uint)*(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)(u32 *)auStack_cc[3] + iVar31 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + iVar31 + 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + iVar31 + 2" (binary_expression "(int)(u32 *)auStack_cc[3] + iVar31" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + identifier) + number_literal) ))))) ;) (expression_statement "iVar18 = uVar30 + 2;" (assignment_expression "iVar18 = uVar30 + 2" identifier = (binary_expression "uVar30 + 2" identifier + number_literal)) ;) (if_statement "if (uVar30 == 0) {\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }" if (parenthesized_expression "(uVar30 == 0)" ( (binary_expression "uVar30 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);\n          bVar5 = (int)pBVar54 < (int)auStack_cc[0];\n          iVar18 = iVar18 + 2;\n          puVar35 = (undefined1 *)auStack_cc[0];\n        }" { (expression_statement "iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54);" (assignment_expression "iVar18 = (*(code *)pBStack_1ec)(pBStack_1e8,pBVar54)" identifier = (call_expression "(*(code *)pBStack_1ec)(pBStack_1e8,pBVar54)" (parenthesized_expression "(*(code *)pBStack_1ec)" ( (pointer_expression "*(code *)pBStack_1ec" * (cast_expression "(code *)pBStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBStack_1e8,pBVar54)" ( identifier , identifier )))) ;) (expression_statement "bVar5 = (int)pBVar54 < (int)auStack_cc[0];" (assignment_expression "bVar5 = (int)pBVar54 < (int)auStack_cc[0]" identifier = (binary_expression "(int)pBVar54 < (int)auStack_cc[0]" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)auStack_cc[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ])))) ;) (expression_statement "iVar18 = iVar18 + 2;" (assignment_expression "iVar18 = iVar18 + 2" identifier = (binary_expression "iVar18 + 2" identifier + number_literal)) ;) (expression_statement "puVar35 = (undefined1 *)auStack_cc[0];" (assignment_expression "puVar35 = (undefined1 *)auStack_cc[0]" identifier = (cast_expression "(undefined1 *)auStack_cc[0]" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) ;) })) })) (expression_statement "pBVar60->nSet = pBVar60->nSet - iVar18;" (assignment_expression "pBVar60->nSet = pBVar60->nSet - iVar18" (field_expression "pBVar60->nSet" identifier -> field_identifier) = (binary_expression "pBVar60->nSet - iVar18" (field_expression "pBVar60->nSet" identifier -> field_identifier) - identifier)) ;) (if_statement "if (!bVar5) goto LAB_000a4c3c;" if (parenthesized_expression "(!bVar5)" ( (unary_expression "!bVar5" ! identifier) )) (goto_statement "goto LAB_000a4c3c;" goto statement_identifier ;)) })) (if_statement "if ((int)puVar35 <= (int)pBVar54) break;" if (parenthesized_expression "((int)puVar35 <= (int)pBVar54)" ( (binary_expression "(int)puVar35 <= (int)pBVar54" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (if_statement "if (pBStack_1c4 != (Bitvec *)0x0) {\n      uVar14 = pBVar19[-1].u.aHash[0x7c];\n    }" if (parenthesized_expression "(pBStack_1c4 != (Bitvec *)0x0)" ( (binary_expression "pBStack_1c4 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar14 = pBVar19[-1].u.aHash[0x7c];\n    }" { (expression_statement "uVar14 = pBVar19[-1].u.aHash[0x7c];" (assignment_expression "uVar14 = pBVar19[-1].u.aHash[0x7c]" identifier = (subscript_expression "pBVar19[-1].u.aHash[0x7c]" (field_expression "pBVar19[-1].u.aHash" (field_expression "pBVar19[-1].u" (subscript_expression "pBVar19[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ])) ;) })) (expression_statement "bVar5 = (int)pBVar51 <= (int)pBVar52;" (assignment_expression "bVar5 = (int)pBVar51 <= (int)pBVar52" identifier = (binary_expression "(int)pBVar51 <= (int)pBVar52" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pBStack_1f0 = pBVar51;" (assignment_expression "pBStack_1f0 = pBVar51" identifier = identifier) ;) (if_statement "if ((int)pBVar54 <= (int)uVar14) {\n      uVar32 = 0x11498;\n      pBVar56 = pBVar19;\n      pBStack_1d4 = pBStack_1a8;\n      pBStack_1b8 = pBStack_1c4;\n      goto LAB_000a46ec;\n    }" if (parenthesized_expression "((int)pBVar54 <= (int)uVar14)" ( (binary_expression "(int)pBVar54 <= (int)uVar14" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      uVar32 = 0x11498;\n      pBVar56 = pBVar19;\n      pBStack_1d4 = pBStack_1a8;\n      pBStack_1b8 = pBStack_1c4;\n      goto LAB_000a46ec;\n    }" { (expression_statement "uVar32 = 0x11498;" (assignment_expression "uVar32 = 0x11498" identifier = number_literal) ;) (expression_statement "pBVar56 = pBVar19;" (assignment_expression "pBVar56 = pBVar19" identifier = identifier) ;) (expression_statement "pBStack_1d4 = pBStack_1a8;" (assignment_expression "pBStack_1d4 = pBStack_1a8" identifier = identifier) ;) (expression_statement "pBStack_1b8 = pBStack_1c4;" (assignment_expression "pBStack_1b8 = pBStack_1c4" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) })) (expression_statement "pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);" (assignment_expression "pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar52->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->iSize + 1)" ( (binary_expression "(int)&pBVar52->iSize + 1" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar60 = (Bitvec *)&pBVar60->nSet;" (assignment_expression "pBVar60 = (Bitvec *)&pBVar60->nSet" identifier = (cast_expression "(Bitvec *)&pBVar60->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar60->nSet" & (field_expression "pBVar60->nSet" identifier -> field_identifier)))) ;) (expression_statement "pBVar19 = (Bitvec *)&pBVar19->nSet;" (assignment_expression "pBVar19 = (Bitvec *)&pBVar19->nSet" identifier = (cast_expression "(Bitvec *)&pBVar19->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar19->nSet" & (field_expression "pBVar19->nSet" identifier -> field_identifier)))) ;) (expression_statement "pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1);" (assignment_expression "pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar53->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar53->iSize + 1)" ( (binary_expression "(int)&pBVar53->iSize + 1" (cast_expression "(int)&pBVar53->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (bVar5) {\n      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      pBVar52 = pBVar51;\n      break;\n    }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n      pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);\n      pBVar52 = pBVar51;\n      break;\n    }" { (expression_statement "pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499);" (assignment_expression "pBStack_1c4 = (Bitvec *)((int)&pBVar51[-1].u + 499)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[-1].u + 499)" ( (binary_expression "(int)&pBVar51[-1].u + 499" (cast_expression "(int)&pBVar51[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[-1].u" & (field_expression "pBVar51[-1].u" (subscript_expression "pBVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar52 = pBVar51;" (assignment_expression "pBVar52 = pBVar51" identifier = identifier) ;) (break_statement "break;" break ;) })) })) (labeled_statement "LAB_000a4c3c:\n  if (pBStack_1c4 == (Bitvec *)0x0) {\nLAB_000a4ef4:\n    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);\n    pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);\n    pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);\n    pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);\n    bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize;\n    pBStack_1f0 = (Bitvec *)(uint)bVar1;\n    pBVar53 = pBStack_1ec;\n    pBVar54 = (Bitvec *)0x0;\n    do {\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while ((int)pBVar54 < (int)pBVar52);\n    piVar41 = aiStack_140;\n    puVar12 = auStack_e0;\n    puVar38 = (undefined2 *)((int)apsStack_164 + 10);\n    pBVar56 = (Bitvec *)0x1;\n    auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)\n    ;\n    puVar33 = auStack_f4;\n    while( true ) {\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }\n    pBVar52 = (Bitvec *)0x0;\n    pBVar53 = pBStack_1ec;\n    do {\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" statement_identifier : (if_statement "if (pBStack_1c4 == (Bitvec *)0x0) {\nLAB_000a4ef4:\n    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);\n    pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);\n    pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);\n    pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);\n    bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize;\n    pBStack_1f0 = (Bitvec *)(uint)bVar1;\n    pBVar53 = pBStack_1ec;\n    pBVar54 = (Bitvec *)0x0;\n    do {\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while ((int)pBVar54 < (int)pBVar52);\n    piVar41 = aiStack_140;\n    puVar12 = auStack_e0;\n    puVar38 = (undefined2 *)((int)apsStack_164 + 10);\n    pBVar56 = (Bitvec *)0x1;\n    auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)\n    ;\n    puVar33 = auStack_f4;\n    while( true ) {\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }\n    pBVar52 = (Bitvec *)0x0;\n    pBVar53 = pBStack_1ec;\n    do {\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" if (parenthesized_expression "(pBStack_1c4 == (Bitvec *)0x0)" ( (binary_expression "pBStack_1c4 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000a4ef4:\n    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);\n    pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);\n    pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);\n    pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);\n    bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize;\n    pBStack_1f0 = (Bitvec *)(uint)bVar1;\n    pBVar53 = pBStack_1ec;\n    pBVar54 = (Bitvec *)0x0;\n    do {\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while ((int)pBVar54 < (int)pBVar52);\n    piVar41 = aiStack_140;\n    puVar12 = auStack_e0;\n    puVar38 = (undefined2 *)((int)apsStack_164 + 10);\n    pBVar56 = (Bitvec *)0x1;\n    auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;\n    auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)\n    ;\n    puVar33 = auStack_f4;\n    while( true ) {\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }\n    pBVar52 = (Bitvec *)0x0;\n    pBVar53 = pBStack_1ec;\n    do {\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" { (labeled_statement "LAB_000a4ef4:\n    pBStack_1ec = (Bitvec *)(apsStack_150 + 3);" statement_identifier : (expression_statement "pBStack_1ec = (Bitvec *)(apsStack_150 + 3);" (assignment_expression "pBStack_1ec = (Bitvec *)(apsStack_150 + 3)" identifier = (cast_expression "(Bitvec *)(apsStack_150 + 3)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(apsStack_150 + 3)" ( (binary_expression "apsStack_150 + 3" identifier + number_literal) )))) ;)) (expression_statement "pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660);" (assignment_expression "pBStack_1e8 = (Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb75e4) + 0x1660)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb75e4) + 0x1660)" ( (binary_expression "*(int *)(puVar57 + 0xb75e4) + 0x1660" (pointer_expression "*(int *)(puVar57 + 0xb75e4)" * (cast_expression "(int *)(puVar57 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb75e4)" ( (binary_expression "puVar57 + 0xb75e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474);" (assignment_expression "pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x7474)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x7474)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x7474" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4);" (assignment_expression "pBStack_1c4 = *(Bitvec **)(puVar57 + 0xb75e4)" identifier = (pointer_expression "*(Bitvec **)(puVar57 + 0xb75e4)" * (cast_expression "(Bitvec **)(puVar57 + 0xb75e4)" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb75e4)" ( (binary_expression "puVar57 + 0xb75e4" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize;" (assignment_expression "bVar1 = *(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize" identifier = (pointer_expression "*(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize" * (cast_expression "(byte *)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize" & (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]->\n                      iSize" (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub[0xb]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)->apSub" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[0]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[0]->pNext" & (field_expression "apsStack_150[0]->pNext" (subscript_expression "apsStack_150[0]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ]) -> field_identifier))))) ;) (expression_statement "pBStack_1f0 = (Bitvec *)(uint)bVar1;" (assignment_expression "pBStack_1f0 = (Bitvec *)(uint)bVar1" identifier = (cast_expression "(Bitvec *)(uint)bVar1" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pBVar53 = pBStack_1ec;" (assignment_expression "pBVar53 = pBStack_1ec" identifier = identifier) ;) (expression_statement "pBVar54 = (Bitvec *)0x0;" (assignment_expression "pBVar54 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while ((int)pBVar54 < (int)pBVar52);" do (compound_statement "{\n      pBVar51 = pBVar54;\n      pBVar54 = (Bitvec *)&psStack_184;\n      if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    }" { (expression_statement "pBVar51 = pBVar54;" (assignment_expression "pBVar51 = pBVar54" identifier = identifier) ;) (expression_statement "pBVar54 = (Bitvec *)&psStack_184;" (assignment_expression "pBVar54 = (Bitvec *)&psStack_184" identifier = (cast_expression "(Bitvec *)&psStack_184" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_184" & identifier))) ;) (if_statement "if ((int)pBVar51 < (int)pBStack_1bc) {\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }\n      else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" if (parenthesized_expression "((int)pBVar51 < (int)pBStack_1bc)" ( (binary_expression "(int)pBVar51 < (int)pBStack_1bc" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];\n        ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;\n        pBVar53->iSize = (u32)apBStack_180[0];\n        pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);\njoined_r0x000a5018:\n        pBVar56 = pTo;\n        unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      }" { (expression_statement "apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51];" (assignment_expression "apBStack_180[0] = (Bitvec *)ppsStack_1dc[(int)pBVar51]" (subscript_expression "apBStack_180[0]" identifier [ number_literal ]) = (cast_expression "(Bitvec *)ppsStack_1dc[(int)pBVar51]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppsStack_1dc[(int)pBVar51]" identifier [ (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0;" (assignment_expression "ppsStack_1dc[(int)pBVar51] = (sqlite3_vfs *)0x0" (subscript_expression "ppsStack_1dc[(int)pBVar51]" identifier [ (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar53->iSize = (u32)apBStack_180[0];" (assignment_expression "pBVar53->iSize = (u32)apBStack_180[0]" (field_expression "pBVar53->iSize" identifier -> field_identifier) = (cast_expression "(u32)apBStack_180[0]" ( (type_descriptor "u32" type_identifier) ) (subscript_expression "apBStack_180[0]" identifier [ number_literal ]))) ;) (expression_statement "pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf]);" (assignment_expression "pBStack_188 = (Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf])" identifier = (cast_expression "(Bitvec *)sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf])" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3PagerWrite((PgHdr *)(apBStack_180[0]->u).apSub[0xf])" identifier (argument_list "((PgHdr *)(apBStack_180[0]->u).apSub[0xf])" ( (cast_expression "(PgHdr *)(apBStack_180[0]->u).apSub[0xf]" ( (type_descriptor "PgHdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(apBStack_180[0]->u).apSub[0xf]" (field_expression "(apBStack_180[0]->u).apSub" (parenthesized_expression "(apBStack_180[0]->u)" ( (field_expression "apBStack_180[0]->u" (subscript_expression "apBStack_180[0]" identifier [ number_literal ]) -> field_identifier) )) . field_identifier) [ number_literal ])) ))))) ;) (labeled_statement "joined_r0x000a5018:\n        pBVar56 = pTo;" statement_identifier : (expression_statement "pBVar56 = pTo;" (assignment_expression "pBVar56 = pTo" identifier = identifier) ;)) (expression_statement "unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1);" (assignment_expression "unaff_s7 = (Bitvec *)((int)&pBVar51->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + 1)" ( (binary_expression "(int)&pBVar51->iSize + 1" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar60 = pBVar8;" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) ;) (if_statement "if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;" if (parenthesized_expression "(pBStack_188 != (Bitvec *)0x0)" ( (binary_expression "pBStack_188 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) }) (else_clause "else {\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" else (compound_statement "{\n        pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar51;\n        pBVar60 = pBVar8;\n        if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        (*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);\n        uVar30 = auStack_cc[0];\n        uVar25 = (pBVar8->u).aBitmap[5];\n        pBVar53->iSize = (u32)apBStack_180[0];\n        *(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;\n        if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" { (expression_statement "pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0);" (assignment_expression "pBStack_188 = (Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0)" identifier = (cast_expression "(Bitvec *)\n                      (*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pBStack_1e8)\n                                (pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0)" (parenthesized_expression "(*(code *)pBStack_1e8)" ( (pointer_expression "*(code *)pBStack_1e8" * (cast_expression "(code *)pBStack_1e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBVar8,(CellInfo *)apBStack_180,(Bitvec *)&psStack_184,1,0)" ( identifier , (cast_expression "(CellInfo *)apBStack_180" ( (type_descriptor "CellInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Bitvec *)&psStack_184" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_184" & identifier)) , number_literal , number_literal ))))) ;) (expression_statement "pBVar56 = pTo;" (assignment_expression "pBVar56 = pTo" identifier = identifier) ;) (expression_statement "unaff_s7 = pBVar51;" (assignment_expression "unaff_s7 = pBVar51" identifier = identifier) ;) (expression_statement "pBVar60 = pBVar8;" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) ;) (if_statement "if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;" if (parenthesized_expression "(pBStack_188 != (Bitvec *)0x0)" ( (binary_expression "pBStack_188 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (expression_statement "(*(code *)pBVar19)(apBStack_180[0],pBStack_1f0);" (call_expression "(*(code *)pBVar19)(apBStack_180[0],pBStack_1f0)" (parenthesized_expression "(*(code *)pBVar19)" ( (pointer_expression "*(code *)pBVar19" * (cast_expression "(code *)pBVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(apBStack_180[0],pBStack_1f0)" ( (subscript_expression "apBStack_180[0]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "uVar30 = auStack_cc[0];" (assignment_expression "uVar30 = auStack_cc[0]" identifier = (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) ;) (expression_statement "uVar25 = (pBVar8->u).aBitmap[5];" (assignment_expression "uVar25 = (pBVar8->u).aBitmap[5]" identifier = (subscript_expression "(pBVar8->u).aBitmap[5]" (field_expression "(pBVar8->u).aBitmap" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "pBVar53->iSize = (u32)apBStack_180[0];" (assignment_expression "pBVar53->iSize = (u32)apBStack_180[0]" (field_expression "pBVar53->iSize" identifier -> field_identifier) = (cast_expression "(u32)apBStack_180[0]" ( (type_descriptor "u32" type_identifier) ) (subscript_expression "apBStack_180[0]" identifier [ number_literal ]))) ;) (expression_statement "*(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30;" (assignment_expression "*(uint *)(pbStack_1c0 + (int)pBVar51 * 4) = uVar30" (pointer_expression "*(uint *)(pbStack_1c0 + (int)pBVar51 * 4)" * (cast_expression "(uint *)(pbStack_1c0 + (int)pBVar51 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + (int)pBVar51 * 4)" ( (binary_expression "pbStack_1c0 + (int)pBVar51 * 4" identifier + (binary_expression "(int)pBVar51 * 4" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if (uVar25 != '\0') {\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }" if (parenthesized_expression "(uVar25 != '\0')" ( (binary_expression "uVar25 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);\n          goto joined_r0x000a5018;\n        }" { (expression_statement "ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188);" (call_expression "ptrmapPut((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188)" identifier (argument_list "((BtShared *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&pBStack_188)" ( (cast_expression "(BtShared *)pBVar8" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "apBStack_180[0]->nSet" (subscript_expression "apBStack_180[0]" identifier [ number_literal ]) -> field_identifier) , (char_literal "'\x05'" ' escape_sequence ') , (field_expression "pTo->nSet" identifier -> field_identifier) , (cast_expression "(int *)&pBStack_188" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_188" & identifier)) ))) ;) (goto_statement "goto joined_r0x000a5018;" goto statement_identifier ;) })) }))) (expression_statement "pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1);" (assignment_expression "pBVar54 = (Bitvec *)((int)&pBVar51->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + 1)" ( (binary_expression "(int)&pBVar51->iSize + 1" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar53 = (Bitvec *)&pBVar53->nSet;" (assignment_expression "pBVar53 = (Bitvec *)&pBVar53->nSet" identifier = (cast_expression "(Bitvec *)&pBVar53->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar53->nSet" & (field_expression "pBVar53->nSet" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((int)pBVar54 < (int)pBVar52)" ( (binary_expression "(int)pBVar54 < (int)pBVar52" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "piVar41 = aiStack_140;" (assignment_expression "piVar41 = aiStack_140" identifier = identifier) ;) (expression_statement "puVar12 = auStack_e0;" (assignment_expression "puVar12 = auStack_e0" identifier = identifier) ;) (expression_statement "puVar38 = (undefined2 *)((int)apsStack_164 + 10);" (assignment_expression "puVar38 = (undefined2 *)((int)apsStack_164 + 10)" identifier = (cast_expression "(undefined2 *)((int)apsStack_164 + 10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)apsStack_164 + 10)" ( (binary_expression "(int)apsStack_164 + 10" (cast_expression "(int)apsStack_164" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pBVar56 = (Bitvec *)0x1;" (assignment_expression "pBVar56 = (Bitvec *)0x1" identifier = (cast_expression "(Bitvec *)0x1" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "auStack_f4[0] = (uint)apsStack_150[3]->szOsFile;" (assignment_expression "auStack_f4[0] = (uint)apsStack_150[3]->szOsFile" (subscript_expression "auStack_f4[0]" identifier [ number_literal ]) = (cast_expression "(uint)apsStack_150[3]->szOsFile" ( (type_descriptor "uint" type_identifier) ) (field_expression "apsStack_150[3]->szOsFile" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) ;) (expression_statement "auStack_e0[0] = (uint)apsStack_150[3]->szOsFile;" (assignment_expression "auStack_e0[0] = (uint)apsStack_150[3]->szOsFile" (subscript_expression "auStack_e0[0]" identifier [ number_literal ]) = (cast_expression "(uint)apsStack_150[3]->szOsFile" ( (type_descriptor "uint" type_identifier) ) (field_expression "apsStack_150[3]->szOsFile" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) ;) (expression_statement "auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)\n    ;" (assignment_expression "auStack_15c[0] =\n         *(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)" (subscript_expression "auStack_15c[0]" identifier [ number_literal ]) = (pointer_expression "*(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)" * (cast_expression "(undefined2 *)\n          ((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10)" ( (binary_expression "(int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u + 0x10" (cast_expression "(int)&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u" & (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]->u" (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xf]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ]) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar33 = auStack_f4;" (assignment_expression "puVar33 = auStack_f4" identifier = identifier) ;) (while_statement "while( true ) {\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar12 = puVar12 + 1;\n      iVar31 = *(int *)(puVar57 + 0xb753c);\n      if (pBVar54 == pBVar56) break;\n      psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);\n      iVar31 = *(int *)(*piVar41 + 0x48);\n      puVar33[1] = (uint)psVar59;\n      *puVar12 = (uint)psVar59;\n      bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];\n      *puVar38 = *(undefined2 *)(iVar31 + 0x1c);\n      puVar15 = auStack_f4;\n      if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }\n      while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }\n      pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);\n      puVar33 = puVar33 + 1;\n      piVar41 = piVar41 + 1;\n      puVar38 = puVar38 + 1;\n    }" { (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (expression_statement "iVar31 = *(int *)(puVar57 + 0xb753c);" (assignment_expression "iVar31 = *(int *)(puVar57 + 0xb753c)" identifier = (pointer_expression "*(int *)(puVar57 + 0xb753c)" * (cast_expression "(int *)(puVar57 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb753c)" ( (binary_expression "puVar57 + 0xb753c" identifier + number_literal) ))))) ;) (if_statement "if (pBVar54 == pBVar56) break;" if (parenthesized_expression "(pBVar54 == pBVar56)" ( (binary_expression "pBVar54 == pBVar56" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "psVar59 = *(sqlite3_vfs **)(*piVar41 + 4);" (assignment_expression "psVar59 = *(sqlite3_vfs **)(*piVar41 + 4)" identifier = (pointer_expression "*(sqlite3_vfs **)(*piVar41 + 4)" * (cast_expression "(sqlite3_vfs **)(*piVar41 + 4)" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar41 + 4)" ( (binary_expression "*piVar41 + 4" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) (expression_statement "iVar31 = *(int *)(*piVar41 + 0x48);" (assignment_expression "iVar31 = *(int *)(*piVar41 + 0x48)" identifier = (pointer_expression "*(int *)(*piVar41 + 0x48)" * (cast_expression "(int *)(*piVar41 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar41 + 0x48)" ( (binary_expression "*piVar41 + 0x48" (pointer_expression "*piVar41" * identifier) + number_literal) ))))) ;) (expression_statement "puVar33[1] = (uint)psVar59;" (assignment_expression "puVar33[1] = (uint)psVar59" (subscript_expression "puVar33[1]" identifier [ number_literal ]) = (cast_expression "(uint)psVar59" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*puVar12 = (uint)psVar59;" (assignment_expression "*puVar12 = (uint)psVar59" (pointer_expression "*puVar12" * identifier) = (cast_expression "(uint)psVar59" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0];" (assignment_expression "bVar5 = psVar59 == (sqlite3_vfs *)auStack_f4[0]" identifier = (binary_expression "psVar59 == (sqlite3_vfs *)auStack_f4[0]" identifier == (cast_expression "(sqlite3_vfs *)auStack_f4[0]" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_f4[0]" identifier [ number_literal ])))) ;) (expression_statement "*puVar38 = *(undefined2 *)(iVar31 + 0x1c);" (assignment_expression "*puVar38 = *(undefined2 *)(iVar31 + 0x1c)" (pointer_expression "*puVar38" * identifier) = (pointer_expression "*(undefined2 *)(iVar31 + 0x1c)" * (cast_expression "(undefined2 *)(iVar31 + 0x1c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x1c)" ( (binary_expression "iVar31 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = auStack_f4;" (assignment_expression "puVar15 = auStack_f4" identifier = identifier) ;) (if_statement "if (bVar5) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n        iVar31 = *(int *)(puVar57 + 0xb7620);\nLAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);\n        pBVar56 = pTo;\n        unaff_s7 = pBVar54;\n        pBVar60 = pBVar8;\n        pBVar19 = (Bitvec *)((int)pBVar51 * 4);\n        goto LAB_000a443c;\n      }" { (expression_statement "iVar31 = *(int *)(puVar57 + 0xb7620);" (assignment_expression "iVar31 = *(int *)(puVar57 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000a5138:\n        pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);" statement_identifier : (expression_statement "pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c);" (assignment_expression "pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c)" identifier = (cast_expression "(Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x1150c)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar31 + -0x75c0))(0x1150c)" (parenthesized_expression "(*(code *)(iVar31 + -0x75c0))" ( (pointer_expression "*(code *)(iVar31 + -0x75c0)" * (cast_expression "(code *)(iVar31 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x75c0)" ( (binary_expression "iVar31 + -0x75c0" identifier + number_literal) )))) )) (argument_list "(0x1150c)" ( number_literal ))))) ;)) (expression_statement "pBVar56 = pTo;" (assignment_expression "pBVar56 = pTo" identifier = identifier) ;) (expression_statement "unaff_s7 = pBVar54;" (assignment_expression "unaff_s7 = pBVar54" identifier = identifier) ;) (expression_statement "pBVar60 = pBVar8;" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) ;) (expression_statement "pBVar19 = (Bitvec *)((int)pBVar51 * 4);" (assignment_expression "pBVar19 = (Bitvec *)((int)pBVar51 * 4)" identifier = (cast_expression "(Bitvec *)((int)pBVar51 * 4)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar51 * 4)" ( (binary_expression "(int)pBVar51 * 4" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })) (while_statement "while (puVar16 = puVar15 + 1, puVar33 != puVar15) {\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }" while (parenthesized_expression "(puVar16 = puVar15 + 1, puVar33 != puVar15)" ( (comma_expression "puVar16 = puVar15 + 1, puVar33 != puVar15" (assignment_expression "puVar16 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) , (binary_expression "puVar33 != puVar15" identifier != identifier)) )) (compound_statement "{\n        iVar31 = *(int *)(puVar57 + 0xb7620);\n        puVar15 = puVar16;\n        if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;\n      }" { (expression_statement "iVar31 = *(int *)(puVar57 + 0xb7620);" (assignment_expression "iVar31 = *(int *)(puVar57 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (if_statement "if (psVar59 == (sqlite3_vfs *)*puVar16) goto LAB_000a5138;" if (parenthesized_expression "(psVar59 == (sqlite3_vfs *)*puVar16)" ( (binary_expression "psVar59 == (sqlite3_vfs *)*puVar16" identifier == (cast_expression "(sqlite3_vfs *)*puVar16" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar16" * identifier))) )) (goto_statement "goto LAB_000a5138;" goto statement_identifier ;)) })) (expression_statement "pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1);" (assignment_expression "pBVar56 = (Bitvec *)((int)&pBVar56->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar56->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar56->iSize + 1)" ( (binary_expression "(int)&pBVar56->iSize + 1" (cast_expression "(int)&pBVar56->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "piVar41 = piVar41 + 1;" (assignment_expression "piVar41 = piVar41 + 1" identifier = (binary_expression "piVar41 + 1" identifier + number_literal)) ;) (expression_statement "puVar38 = puVar38 + 1;" (assignment_expression "puVar38 = puVar38 + 1" identifier = (binary_expression "puVar38 + 1" identifier + number_literal)) ;) })) (expression_statement "pBVar52 = (Bitvec *)0x0;" (assignment_expression "pBVar52 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar53 = pBStack_1ec;" (assignment_expression "pBVar53 = pBStack_1ec" identifier = identifier) ;) (do_statement "do {\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    } while( true );" do (compound_statement "{\n      psStack_184 = (sqlite3_vfs *)auStack_e0[0];\n      if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n      if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }\n    }" { (expression_statement "psStack_184 = (sqlite3_vfs *)auStack_e0[0];" (assignment_expression "psStack_184 = (sqlite3_vfs *)auStack_e0[0]" identifier = (cast_expression "(sqlite3_vfs *)auStack_e0[0]" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_e0[0]" identifier [ number_literal ]))) ;) (if_statement "if (pBVar54 == (Bitvec *)0x1) {\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }\n      else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }" if (parenthesized_expression "(pBVar54 == (Bitvec *)0x1)" ( (binary_expression "pBVar54 == (Bitvec *)0x1" identifier == (cast_expression "(Bitvec *)0x1" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        auStack_e0[0] = 0xffffffff;\n        if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;\n        pBVar56 = (Bitvec *)0x0;\nLAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;\n        p_Var28 = psVar59->xCurrentTimeInt64;\n        *(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);\n        (*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);\n        psVar59->szOsFile = (int)psStack_184;\n      }" { (expression_statement "auStack_e0[0] = 0xffffffff;" (assignment_expression "auStack_e0[0] = 0xffffffff" (subscript_expression "auStack_e0[0]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (pBVar52 == (Bitvec *)0x0) goto LAB_000a5230;" if (parenthesized_expression "(pBVar52 == (Bitvec *)0x0)" ( (binary_expression "pBVar52 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a5230;" goto statement_identifier ;)) (expression_statement "pBVar56 = (Bitvec *)0x0;" (assignment_expression "pBVar56 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000a51ec:\n        psVar59 = (sqlite3_vfs *)pBVar53->iSize;" statement_identifier : (expression_statement "psVar59 = (sqlite3_vfs *)pBVar53->iSize;" (assignment_expression "psVar59 = (sqlite3_vfs *)pBVar53->iSize" identifier = (cast_expression "(sqlite3_vfs *)pBVar53->iSize" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar53->iSize" identifier -> field_identifier))) ;)) (expression_statement "p_Var28 = psVar59->xCurrentTimeInt64;" (assignment_expression "p_Var28 = psVar59->xCurrentTimeInt64" identifier = (field_expression "psVar59->xCurrentTimeInt64" identifier -> field_identifier)) ;) (expression_statement "*(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8);" (assignment_expression "*(undefined2 *)(p_Var28 + 0x1c) = *(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8)" (pointer_expression "*(undefined2 *)(p_Var28 + 0x1c)" * (cast_expression "(undefined2 *)(p_Var28 + 0x1c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var28 + 0x1c)" ( (binary_expression "p_Var28 + 0x1c" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8)" * (cast_expression "(undefined2 *)((int)apsStack_164 + (int)pBVar56 * 2 + 8)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)apsStack_164 + (int)pBVar56 * 2 + 8)" ( (binary_expression "(int)apsStack_164 + (int)pBVar56 * 2 + 8" (binary_expression "(int)apsStack_164 + (int)pBVar56 * 2" (cast_expression "(int)apsStack_164" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)pBVar56 * 2" (cast_expression "(int)pBVar56" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184);" (call_expression "(*(code *)(iVar31 + -0x2370))(p_Var28,psStack_184)" (parenthesized_expression "(*(code *)(iVar31 + -0x2370))" ( (pointer_expression "*(code *)(iVar31 + -0x2370)" * (cast_expression "(code *)(iVar31 + -0x2370)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x2370)" ( (binary_expression "iVar31 + -0x2370" identifier + number_literal) )))) )) (argument_list "(p_Var28,psStack_184)" ( identifier , identifier ))) ;) (expression_statement "psVar59->szOsFile = (int)psStack_184;" (assignment_expression "psVar59->szOsFile = (int)psStack_184" (field_expression "psVar59->szOsFile" identifier -> field_identifier) = (cast_expression "(int)psStack_184" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }" else (compound_statement "{\n        puVar12 = auStack_e0;\n        pBVar56 = (Bitvec *)0x0;\n        pBVar60 = (Bitvec *)0x1;\n        do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);\n        auStack_e0[(int)pBVar56] = 0xffffffff;\n        if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }\n      }" { (expression_statement "puVar12 = auStack_e0;" (assignment_expression "puVar12 = auStack_e0" identifier = identifier) ;) (expression_statement "pBVar56 = (Bitvec *)0x0;" (assignment_expression "pBVar56 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar60 = (Bitvec *)0x1;" (assignment_expression "pBVar60 = (Bitvec *)0x1" identifier = (cast_expression "(Bitvec *)0x1" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        } while (pBVar54 != pBVar60);" do (compound_statement "{\n          psVar59 = (sqlite3_vfs *)puVar12[1];\n          puVar12 = puVar12 + 1;\n          if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }\n          pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);\n          if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }\n        }" { (expression_statement "psVar59 = (sqlite3_vfs *)puVar12[1];" (assignment_expression "psVar59 = (sqlite3_vfs *)puVar12[1]" identifier = (cast_expression "(sqlite3_vfs *)puVar12[1]" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar12 = puVar12 + 1;" (assignment_expression "puVar12 = puVar12 + 1" identifier = (binary_expression "puVar12 + 1" identifier + number_literal)) ;) (if_statement "if (psVar59 < psStack_184) {\n            pBVar56 = pBVar60;\n          }" if (parenthesized_expression "(psVar59 < psStack_184)" ( (binary_expression "psVar59 < psStack_184" identifier < identifier) )) (compound_statement "{\n            pBVar56 = pBVar60;\n          }" { (expression_statement "pBVar56 = pBVar60;" (assignment_expression "pBVar56 = pBVar60" identifier = identifier) ;) })) (expression_statement "pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1);" (assignment_expression "pBVar60 = (Bitvec *)((int)&pBVar60->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar60->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar60->iSize + 1)" ( (binary_expression "(int)&pBVar60->iSize + 1" (cast_expression "(int)&pBVar60->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar60->iSize" & (field_expression "pBVar60->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (psVar59 < psStack_184) {\n            psStack_184 = psVar59;\n          }" if (parenthesized_expression "(psVar59 < psStack_184)" ( (binary_expression "psVar59 < psStack_184" identifier < identifier) )) (compound_statement "{\n            psStack_184 = psVar59;\n          }" { (expression_statement "psStack_184 = psVar59;" (assignment_expression "psStack_184 = psVar59" identifier = identifier) ;) })) }) while (parenthesized_expression "(pBVar54 != pBVar60)" ( (binary_expression "pBVar54 != pBVar60" identifier != identifier) )) ;) (expression_statement "auStack_e0[(int)pBVar56] = 0xffffffff;" (assignment_expression "auStack_e0[(int)pBVar56] = 0xffffffff" (subscript_expression "auStack_e0[(int)pBVar56]" identifier [ (cast_expression "(int)pBVar56" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (if_statement "if (pBVar56 != pBVar52) {\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }" if (parenthesized_expression "(pBVar56 != pBVar52)" ( (binary_expression "pBVar56 != pBVar52" identifier != identifier) )) (compound_statement "{\n          if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }\n          goto LAB_000a51ec;\n        }" { (if_statement "if ((int)pBVar52 < (int)pBVar56) {\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }" if (parenthesized_expression "((int)pBVar52 < (int)pBVar56)" ( (binary_expression "(int)pBVar52 < (int)pBVar56" (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBVar56" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar20 = (int)(pBVar8->u).apSub[8];\n            iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));\n          }" { (expression_statement "iVar20 = (int)(pBVar8->u).apSub[8];" (assignment_expression "iVar20 = (int)(pBVar8->u).apSub[8]" identifier = (cast_expression "(int)(pBVar8->u).apSub[8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(pBVar8->u).apSub[8]" (field_expression "(pBVar8->u).apSub" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48);" (assignment_expression "iVar18 = *(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48)" identifier = (pointer_expression "*(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48)" * (cast_expression "(int *)(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48)" ( (binary_expression "aiStack_140[(int)pBVar56[-1].u.aHash + 499] + 0x48" (subscript_expression "aiStack_140[(int)pBVar56[-1].u.aHash + 499]" identifier [ (binary_expression "(int)pBVar56[-1].u.aHash + 499" (cast_expression "(int)pBVar56[-1].u.aHash" ( (type_descriptor "int" primitive_type) ) (field_expression "pBVar56[-1].u.aHash" (field_expression "pBVar56[-1].u" (subscript_expression "pBVar56[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) + number_literal) ]) + number_literal) ))))) ;) (expression_statement "*(undefined2 *)(iVar18 + 0x1c) = 0;" (assignment_expression "*(undefined2 *)(iVar18 + 0x1c) = 0" (pointer_expression "*(undefined2 *)(iVar18 + 0x1c)" * (cast_expression "(undefined2 *)(iVar18 + 0x1c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x1c)" ( (binary_expression "iVar18 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1));" (call_expression "(*(code *)(iVar31 + -0x2370))(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1))" (parenthesized_expression "(*(code *)(iVar31 + -0x2370))" ( (pointer_expression "*(code *)(iVar31 + -0x2370)" * (cast_expression "(code *)(iVar31 + -0x2370)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x2370)" ( (binary_expression "iVar31 + -0x2370" identifier + number_literal) )))) )) (argument_list "(iVar18,(byte *)((int)&pBVar56->iSize + iVar20 + 1))" ( identifier , (cast_expression "(byte *)((int)&pBVar56->iSize + iVar20 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar56->iSize + iVar20 + 1)" ( (binary_expression "(int)&pBVar56->iSize + iVar20 + 1" (binary_expression "(int)&pBVar56->iSize + iVar20" (cast_expression "(int)&pBVar56->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier))) + identifier) + number_literal) ))) ))) ;) })) (goto_statement "goto LAB_000a51ec;" goto statement_identifier ;) })) }))) (expression_statement "pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);" (assignment_expression "pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar52->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->iSize + 1)" ( (binary_expression "(int)&pBVar52->iSize + 1" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar53 = (Bitvec *)&pBVar53->nSet;" (assignment_expression "pBVar53 = (Bitvec *)&pBVar53->nSet" identifier = (cast_expression "(Bitvec *)&pBVar53->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar53->nSet" & (field_expression "pBVar53->nSet" identifier -> field_identifier)))) ;) (if_statement "if (pBVar54 == pBVar52) {\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }" if (parenthesized_expression "(pBVar54 == pBVar52)" ( (binary_expression "pBVar54 == pBVar52" identifier == identifier) )) (compound_statement "{\nLAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];\n        iVar31 = psVar59->szOsFile;\n        *(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;\n        *(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);\n        *(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);\n        *(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);\n        if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }\n        pBVar53 = (Bitvec *)apsStack_150[3];\n        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;\n        pBStack_1c4 = (pBVar8->u).apSub[6];\n        pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );\n        if ((int)auStack_cc[0] < 1) goto LAB_000a5474;\n        pBStack_1d4 = (Bitvec *)0x0;\n        pCell = (u8 *)0x0;\n        pBStack_1c8 = (Bitvec *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);\n        pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);\n        pBVar52 = (Bitvec *)0x0;\n        pBVar47 = (Bitvec *)auStack_cc[0];\n        pPage = (MemPage *)apsStack_150[3];\n        iChild = (Pgno)apsStack_150[3];\n        pBStack_1b0 = pBVar51;\n        goto LAB_000a53dc;\n      }" { (labeled_statement "LAB_000a5230:\n        psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];" statement_identifier : (expression_statement "psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)];" (assignment_expression "psVar59 = apsStack_150[(int)((int)&pBVar51->iSize + 3)]" identifier = (subscript_expression "apsStack_150[(int)((int)&pBVar51->iSize + 3)]" identifier [ (cast_expression "(int)((int)&pBVar51->iSize + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBVar51->iSize + 3)" ( (binary_expression "(int)&pBVar51->iSize + 3" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + number_literal) ))) ])) ;)) (expression_statement "iVar31 = psVar59->szOsFile;" (assignment_expression "iVar31 = psVar59->szOsFile" identifier = (field_expression "psVar59->szOsFile" identifier -> field_identifier)) ;) (expression_statement "*(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31;" (assignment_expression "*(byte *)((int)&pBStack_1c8->iSize + 3) = (byte)iVar31" (pointer_expression "*(byte *)((int)&pBStack_1c8->iSize + 3)" * (cast_expression "(byte *)((int)&pBStack_1c8->iSize + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1c8->iSize + 3)" ( (binary_expression "(int)&pBStack_1c8->iSize + 3" (cast_expression "(int)&pBStack_1c8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1c8->iSize" & (field_expression "pBStack_1c8->iSize" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(byte)iVar31" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18);" (assignment_expression "*(byte *)&pBStack_1c8->iSize = (byte)((uint)iVar31 >> 0x18)" (pointer_expression "*(byte *)&pBStack_1c8->iSize" * (cast_expression "(byte *)&pBStack_1c8->iSize" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_1c8->iSize" & (field_expression "pBStack_1c8->iSize" identifier -> field_identifier)))) = (call_expression "(byte)((uint)iVar31 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)iVar31 >> 0x18)" ( (binary_expression "(uint)iVar31 >> 0x18" (cast_expression "(uint)iVar31" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10);" (assignment_expression "*(byte *)((int)&pBStack_1c8->iSize + 1) = (byte)((uint)iVar31 >> 0x10)" (pointer_expression "*(byte *)((int)&pBStack_1c8->iSize + 1)" * (cast_expression "(byte *)((int)&pBStack_1c8->iSize + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1c8->iSize + 1)" ( (binary_expression "(int)&pBStack_1c8->iSize + 1" (cast_expression "(int)&pBStack_1c8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1c8->iSize" & (field_expression "pBStack_1c8->iSize" identifier -> field_identifier))) + number_literal) )))) = (call_expression "(byte)((uint)iVar31 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)iVar31 >> 0x10)" ( (binary_expression "(uint)iVar31 >> 0x10" (cast_expression "(uint)iVar31" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8);" (assignment_expression "*(byte *)((int)&pBStack_1c8->iSize + 2) = (byte)((uint)iVar31 >> 8)" (pointer_expression "*(byte *)((int)&pBStack_1c8->iSize + 2)" * (cast_expression "(byte *)((int)&pBStack_1c8->iSize + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1c8->iSize + 2)" ( (binary_expression "(int)&pBStack_1c8->iSize + 2" (cast_expression "(int)&pBStack_1c8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1c8->iSize" & (field_expression "pBStack_1c8->iSize" identifier -> field_identifier))) + number_literal) )))) = (call_expression "(byte)((uint)iVar31 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)iVar31 >> 8)" ( (binary_expression "(uint)iVar31 >> 8" (cast_expression "(uint)iVar31" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)) {\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }" if (parenthesized_expression "(((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc))" ( (binary_expression "((bVar1 & 8) == 0) && (pBVar54 != pBStack_1bc)" (parenthesized_expression "((bVar1 & 8) == 0)" ( (binary_expression "(bVar1 & 8) == 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pBVar54 != pBStack_1bc)" ( (binary_expression "pBVar54 != pBStack_1bc" identifier != identifier) ))) )) (compound_statement "{\n          ppsVar17 = apsStack_150 + 2;\n          if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }\n          p_Var36 = psVar59->xRandomness;\n          uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);\n          pcVar61 = p_Var36 + 8;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n          pcVar61 = p_Var36 + 0xb;\n          uVar30 = (uint)pcVar61 & 3;\n          *(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;\n        }" { (expression_statement "ppsVar17 = apsStack_150 + 2;" (assignment_expression "ppsVar17 = apsStack_150 + 2" identifier = (binary_expression "apsStack_150 + 2" identifier + number_literal)) ;) (if_statement "if ((int)pBVar54 <= (int)pBStack_1bc) {\n            ppsVar17 = apsStack_164 + 4;\n          }" if (parenthesized_expression "((int)pBVar54 <= (int)pBStack_1bc)" ( (binary_expression "(int)pBVar54 <= (int)pBStack_1bc" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pBStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            ppsVar17 = apsStack_164 + 4;\n          }" { (expression_statement "ppsVar17 = apsStack_164 + 4;" (assignment_expression "ppsVar17 = apsStack_164 + 4" identifier = (binary_expression "apsStack_164 + 4" identifier + number_literal)) ;) })) (expression_statement "p_Var36 = psVar59->xRandomness;" (assignment_expression "p_Var36 = psVar59->xRandomness" identifier = (field_expression "psVar59->xRandomness" identifier -> field_identifier)) ;) (expression_statement "uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);" (assignment_expression "uVar26 = *(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8)" identifier = (pointer_expression "*(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8)" * (cast_expression "(uint *)(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8)" ( (binary_expression "ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8" (field_expression "ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness" (subscript_expression "ppsVar17[(int)((int)&pBStack_1d4->iSize + 1)]" identifier [ (cast_expression "(int)((int)&pBStack_1d4->iSize + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBStack_1d4->iSize + 1)" ( (binary_expression "(int)&pBStack_1d4->iSize + 1" (cast_expression "(int)&pBStack_1d4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1d4->iSize" & (field_expression "pBStack_1d4->iSize" identifier -> field_identifier))) + number_literal) ))) ]) -> field_identifier) + number_literal) ))))) ;) (expression_statement "pcVar61 = p_Var36 + 8;" (assignment_expression "pcVar61 = p_Var36 + 8" identifier = (binary_expression "p_Var36 + 8" identifier + number_literal)) ;) (expression_statement "uVar30 = (uint)pcVar61 & 3;" (assignment_expression "uVar30 = (uint)pcVar61 & 3" identifier = (binary_expression "(uint)pcVar61 & 3" (cast_expression "(uint)pcVar61" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;" (assignment_expression "*(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8" (pointer_expression "*(uint *)(pcVar61 + -uVar30)" * (cast_expression "(uint *)(pcVar61 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar61 + -uVar30)" ( (binary_expression "pcVar61 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) = (binary_expression "*(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8" (binary_expression "*(uint *)(pcVar61 + -uVar30) & -1 << (4 - uVar30) * 8" (pointer_expression "*(uint *)(pcVar61 + -uVar30)" * (cast_expression "(uint *)(pcVar61 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar61 + -uVar30)" ( (binary_expression "pcVar61 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) & (binary_expression "-1 << (4 - uVar30) * 8" number_literal << (binary_expression "(4 - uVar30) * 8" (parenthesized_expression "(4 - uVar30)" ( (binary_expression "4 - uVar30" number_literal - identifier) )) * number_literal))) | (binary_expression "uVar26 >> uVar30 * 8" identifier >> (binary_expression "uVar30 * 8" identifier * number_literal)))) ;) (expression_statement "pcVar61 = p_Var36 + 0xb;" (assignment_expression "pcVar61 = p_Var36 + 0xb" identifier = (binary_expression "p_Var36 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar30 = (uint)pcVar61 & 3;" (assignment_expression "uVar30 = (uint)pcVar61 & 3" identifier = (binary_expression "(uint)pcVar61 & 3" (cast_expression "(uint)pcVar61" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8;" (assignment_expression "*(uint *)(pcVar61 + -uVar30) =\n               *(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8" (pointer_expression "*(uint *)(pcVar61 + -uVar30)" * (cast_expression "(uint *)(pcVar61 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar61 + -uVar30)" ( (binary_expression "pcVar61 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) = (binary_expression "*(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n               uVar26 << (3 - uVar30) * 8" (binary_expression "*(uint *)(pcVar61 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8" (pointer_expression "*(uint *)(pcVar61 + -uVar30)" * (cast_expression "(uint *)(pcVar61 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar61 + -uVar30)" ( (binary_expression "pcVar61 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) & (binary_expression "0xffffffffU >> (uVar30 + 1) * 8" number_literal >> (binary_expression "(uVar30 + 1) * 8" (parenthesized_expression "(uVar30 + 1)" ( (binary_expression "uVar30 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar26 << (3 - uVar30) * 8" identifier << (binary_expression "(3 - uVar30) * 8" (parenthesized_expression "(3 - uVar30)" ( (binary_expression "3 - uVar30" number_literal - identifier) )) * number_literal)))) ;) })) (expression_statement "pBVar53 = (Bitvec *)apsStack_150[3];" (assignment_expression "pBVar53 = (Bitvec *)apsStack_150[3]" identifier = (cast_expression "(Bitvec *)apsStack_150[3]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apsStack_150[3]" identifier [ number_literal ]))) ;) (if_statement "if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;" if (parenthesized_expression "((pBVar8->u).aBitmap[5] == '\0')" ( (binary_expression "(pBVar8->u).aBitmap[5] == '\0'" (subscript_expression "(pBVar8->u).aBitmap[5]" (field_expression "(pBVar8->u).aBitmap" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (expression_statement "pBStack_1c4 = (pBVar8->u).apSub[6];" (assignment_expression "pBStack_1c4 = (pBVar8->u).apSub[6]" identifier = (subscript_expression "(pBVar8->u).apSub[6]" (field_expression "(pBVar8->u).apSub" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];" (assignment_expression "pBStack_1e8 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb]" identifier = (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;) (expression_statement "pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      );" (assignment_expression "pBStack_1f0 = (Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      )" identifier = (cast_expression "(Bitvec *)\n                      ((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      )" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]\n                      )" ( (binary_expression "(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10) +\n                      (uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]" (binary_expression "(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)&apsStack_150[3]->pNext + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[3]->pNext + 10)" ( (binary_expression "(int)&apsStack_150[3]->pNext + 10" (cast_expression "(int)&apsStack_150[3]->pNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) + number_literal) )))) + (subscript_expression "(uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]" (field_expression "(uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap" (call_expression "(uint)((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) ))) -> field_identifier) [ number_literal ])) )))) ;) (if_statement "if ((int)auStack_cc[0] < 1) goto LAB_000a5474;" if (parenthesized_expression "((int)auStack_cc[0] < 1)" ( (binary_expression "(int)auStack_cc[0] < 1" (cast_expression "(int)auStack_cc[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) < number_literal) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (expression_statement "pBStack_1d4 = (Bitvec *)0x0;" (assignment_expression "pBStack_1d4 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCell = (u8 *)0x0;" (assignment_expression "pCell = (u8 *)0x0" identifier = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBStack_1c8 = (Bitvec *)0x0;" (assignment_expression "pBStack_1c8 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0);" (assignment_expression "pbStack_1c0 = (byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0)" identifier = (cast_expression "(byte *)(*(int *)(puVar57 + 0xb75e4) + 0x22e0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb75e4) + 0x22e0)" ( (binary_expression "*(int *)(puVar57 + 0xb75e4) + 0x22e0" (pointer_expression "*(int *)(puVar57 + 0xb75e4)" * (cast_expression "(int *)(puVar57 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb75e4)" ( (binary_expression "puVar57 + 0xb75e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);" (assignment_expression "pBStack_1b8 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar57 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar57 + 0xb753c)" * (cast_expression "(int *)(puVar57 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb753c)" ( (binary_expression "puVar57 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBVar52 = (Bitvec *)0x0;" (assignment_expression "pBVar52 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar47 = (Bitvec *)auStack_cc[0];" (assignment_expression "pBVar47 = (Bitvec *)auStack_cc[0]" identifier = (cast_expression "(Bitvec *)auStack_cc[0]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) ;) (expression_statement "pPage = (MemPage *)apsStack_150[3];" (assignment_expression "pPage = (MemPage *)apsStack_150[3]" identifier = (cast_expression "(MemPage *)apsStack_150[3]" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apsStack_150[3]" identifier [ number_literal ]))) ;) (expression_statement "iChild = (Pgno)apsStack_150[3];" (assignment_expression "iChild = (Pgno)apsStack_150[3]" identifier = (cast_expression "(Pgno)apsStack_150[3]" ( (type_descriptor "Pgno" type_identifier) ) (subscript_expression "apsStack_150[3]" identifier [ number_literal ]))) ;) (expression_statement "pBStack_1b0 = pBVar51;" (assignment_expression "pBStack_1b0 = pBVar51" identifier = identifier) ;) (goto_statement "goto LAB_000a53dc;" goto statement_identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) }))) (expression_statement "pBStack_1ec = (Bitvec *)(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4);" (assignment_expression "pBStack_1ec = (Bitvec *)(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4)" identifier = (cast_expression "(Bitvec *)(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4)" ( (binary_expression "&((Bitvec *)apPStack_108)->iSize + (int)pBStack_1c4" (pointer_expression "&((Bitvec *)apPStack_108)->iSize" & (field_expression "((Bitvec *)apPStack_108)->iSize" (parenthesized_expression "((Bitvec *)apPStack_108)" ( (cast_expression "(Bitvec *)apPStack_108" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier)) + (cast_expression "(int)pBStack_1c4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8);" (assignment_expression "pBStack_1f0 = (Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb753c) + -0x14d8)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar57 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar57 + 0xb753c)" * (cast_expression "(int *)(puVar57 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb753c)" ( (binary_expression "puVar57 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBStack_1e8 = pBStack_1c4;" (assignment_expression "pBStack_1e8 = pBStack_1c4" identifier = identifier) ;) (expression_statement "pBVar54 = (Bitvec *)apPStack_108[(int)pBStack_1c4];" (assignment_expression "pBVar54 = (Bitvec *)apPStack_108[(int)pBStack_1c4]" identifier = (cast_expression "(Bitvec *)apPStack_108[(int)pBStack_1c4]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apPStack_108[(int)pBStack_1c4]" identifier [ (cast_expression "(int)pBStack_1c4" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;) (expression_statement "pBVar56 = (Bitvec *)(&pBStack_1a8->iSize + (int)pBStack_1c4);" (assignment_expression "pBVar56 = (Bitvec *)(&pBStack_1a8->iSize + (int)pBStack_1c4)" identifier = (cast_expression "(Bitvec *)(&pBStack_1a8->iSize + (int)pBStack_1c4)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&pBStack_1a8->iSize + (int)pBStack_1c4)" ( (binary_expression "&pBStack_1a8->iSize + (int)pBStack_1c4" (pointer_expression "&pBStack_1a8->iSize" & (field_expression "pBStack_1a8->iSize" identifier -> field_identifier)) + (cast_expression "(int)pBStack_1c4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (do_statement "do {\n    pBVar19 = pBVar56;\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499);\n    pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c];\n    pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2);\n    pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1);\n    if (*(short *)(auStack_cc[3] + (int)pBVar51) == 0) {\n      (*(code *)pBStack_1f0)(auStack_cc);\n    }\n    do {\n      pBVar60 = pBVar56;\n      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }\n      if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }\n      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);\n      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);\n      pBVar19[-1].u.apSub[0x7c] = pBVar60;\n      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));\n      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);\n    } while (-1 < (int)pBVar56);\n    pBStack_1ec->iSize = (u32)pBVar54;\n    pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53;\n    pBStack_1b0 = pBVar52;\n    if (pBStack_1e8 == (Bitvec *)0x0) {\n      bVar5 = 0 < (int)pBVar60;\n      pBVar51 = pBVar52;\n      pBVar54 = pBVar60;\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      if (bVar5) goto LAB_000a4ef4;\n      break;\n    }\n    pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0);\n    pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0);\n    pBVar54 = pBVar53;\n  } while ((int)pBVar19[-1].u.aHash[0x7b] < (int)pBVar60);" do (compound_statement "{\n    pBVar19 = pBVar56;\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499);\n    pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c];\n    pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2);\n    pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1);\n    if (*(short *)(auStack_cc[3] + (int)pBVar51) == 0) {\n      (*(code *)pBStack_1f0)(auStack_cc);\n    }\n    do {\n      pBVar60 = pBVar56;\n      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }\n      if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }\n      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);\n      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);\n      pBVar19[-1].u.apSub[0x7c] = pBVar60;\n      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));\n      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);\n    } while (-1 < (int)pBVar56);\n    pBStack_1ec->iSize = (u32)pBVar54;\n    pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53;\n    pBStack_1b0 = pBVar52;\n    if (pBStack_1e8 == (Bitvec *)0x0) {\n      bVar5 = 0 < (int)pBVar60;\n      pBVar51 = pBVar52;\n      pBVar54 = pBVar60;\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      if (bVar5) goto LAB_000a4ef4;\n      break;\n    }\n    pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0);\n    pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0);\n    pBVar54 = pBVar53;\n  }" { (expression_statement "pBVar19 = pBVar56;" (assignment_expression "pBVar19 = pBVar56" identifier = identifier) ;) (expression_statement "pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499);" (assignment_expression "pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8[-1].u + 499)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1e8[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1e8[-1].u + 499)" ( (binary_expression "(int)&pBStack_1e8[-1].u + 499" (cast_expression "(int)&pBStack_1e8[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1e8[-1].u" & (field_expression "pBStack_1e8[-1].u" (subscript_expression "pBStack_1e8[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c];" (assignment_expression "pBVar53 = (Bitvec *)pBStack_1ec[-1].u.aHash[0x7c]" identifier = (cast_expression "(Bitvec *)pBStack_1ec[-1].u.aHash[0x7c]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pBStack_1ec[-1].u.aHash[0x7c]" (field_expression "pBStack_1ec[-1].u.aHash" (field_expression "pBStack_1ec[-1].u" (subscript_expression "pBStack_1ec[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]))) ;) (expression_statement "pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2);" (assignment_expression "pBVar51 = (Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2)" identifier = (cast_expression "(Bitvec *)((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2)" ( (binary_expression "(pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4) * 2" (parenthesized_expression "(pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4)" ( (binary_expression "pBVar19[-1].u.aHash[0x7c] - (int)pcStack_1e4" (subscript_expression "pBVar19[-1].u.aHash[0x7c]" (field_expression "pBVar19[-1].u.aHash" (field_expression "pBVar19[-1].u" (subscript_expression "pBVar19[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]) - (cast_expression "(int)pcStack_1e4" ( (type_descriptor "int" primitive_type) ) identifier)) )) * number_literal) )))) ;) (expression_statement "pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1);" (assignment_expression "pBVar56 = (Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1)" identifier = (cast_expression "(Bitvec *)(pBVar19[-1].u.aHash[0x7c] - 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pBVar19[-1].u.aHash[0x7c] - 1)" ( (binary_expression "pBVar19[-1].u.aHash[0x7c] - 1" (subscript_expression "pBVar19[-1].u.aHash[0x7c]" (field_expression "pBVar19[-1].u.aHash" (field_expression "pBVar19[-1].u" (subscript_expression "pBVar19[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]) - number_literal) )))) ;) (if_statement "if (*(short *)(auStack_cc[3] + (int)pBVar51) == 0) {\n      (*(code *)pBStack_1f0)(auStack_cc);\n    }" if (parenthesized_expression "(*(short *)(auStack_cc[3] + (int)pBVar51) == 0)" ( (binary_expression "*(short *)(auStack_cc[3] + (int)pBVar51) == 0" (pointer_expression "*(short *)(auStack_cc[3] + (int)pBVar51)" * (cast_expression "(short *)(auStack_cc[3] + (int)pBVar51)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc[3] + (int)pBVar51)" ( (binary_expression "auStack_cc[3] + (int)pBVar51" (subscript_expression "auStack_cc[3]" identifier [ number_literal ]) + (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == number_literal) )) (compound_statement "{\n      (*(code *)pBStack_1f0)(auStack_cc);\n    }" { (expression_statement "(*(code *)pBStack_1f0)(auStack_cc);" (call_expression "(*(code *)pBStack_1f0)(auStack_cc)" (parenthesized_expression "(*(code *)pBStack_1f0)" ( (pointer_expression "*(code *)pBStack_1f0" * (cast_expression "(code *)pBStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc)" ( identifier ))) ;) })) (do_statement "do {\n      pBVar60 = pBVar56;\n      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }\n      if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }\n      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);\n      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);\n      pBVar19[-1].u.apSub[0x7c] = pBVar60;\n      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));\n      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);\n    } while (-1 < (int)pBVar56);" do (compound_statement "{\n      pBVar60 = pBVar56;\n      if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }\n      if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }\n      uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);\n      pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);\n      pBVar19[-1].u.apSub[0x7c] = pBVar60;\n      pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n      pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));\n      pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);\n    }" { (expression_statement "pBVar60 = pBVar56;" (assignment_expression "pBVar60 = pBVar56" identifier = identifier) ;) (if_statement "if (*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0) {\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }" if (parenthesized_expression "(*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0)" ( (binary_expression "*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2) == 0" (pointer_expression "*(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2)" * (cast_expression "(short *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "(int)pBVar60 * 2" (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) == number_literal) )) (compound_statement "{\n        (*(code *)pBStack_1f0)(auStack_cc,pBVar60);\n      }" { (expression_statement "(*(code *)pBStack_1f0)(auStack_cc,pBVar60);" (call_expression "(*(code *)pBStack_1f0)(auStack_cc,pBVar60)" (parenthesized_expression "(*(code *)pBStack_1f0)" ( (pointer_expression "*(code *)pBStack_1f0" * (cast_expression "(code *)pBStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc,pBVar60)" ( identifier , identifier ))) ;) })) (if_statement "if (pBVar54 != (Bitvec *)0x0) {\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }" if (parenthesized_expression "(pBVar54 != (Bitvec *)0x0)" ( (binary_expression "pBVar54 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];\n        break;\n      }" { (expression_statement "pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c];" (assignment_expression "pBVar60 = (Bitvec *)pBVar19[-1].u.aHash[0x7c]" identifier = (cast_expression "(Bitvec *)pBVar19[-1].u.aHash[0x7c]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pBVar19[-1].u.aHash[0x7c]" (field_expression "pBVar19[-1].u.aHash" (field_expression "pBVar19[-1].u" (subscript_expression "pBVar19[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]))) ;) (break_statement "break;" break ;) })) (expression_statement "uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2);" (assignment_expression "uVar2 = *(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2)" identifier = (pointer_expression "*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2)" * (cast_expression "(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + (int)pBVar60 * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "(int)pBVar60 * 2" (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2);" (assignment_expression "pBVar54 = (Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2)" identifier = (cast_expression "(Bitvec *)(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2)" ( (binary_expression "*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]) + 2" (pointer_expression "*(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3])" * (cast_expression "(ushort *)((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3])" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3])" ( (binary_expression "(int)&pBVar51->iSize + (int)(u32 *)auStack_cc[3]" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ])))) )))) + number_literal) )))) ;) (expression_statement "pBVar19[-1].u.apSub[0x7c] = pBVar60;" (assignment_expression "pBVar19[-1].u.apSub[0x7c] = pBVar60" (subscript_expression "pBVar19[-1].u.apSub[0x7c]" (field_expression "pBVar19[-1].u.apSub" (field_expression "pBVar19[-1].u" (subscript_expression "pBVar19[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499);" (assignment_expression "pBVar56 = (Bitvec *)((int)&pBVar60[-1].u + 499)" identifier = (cast_expression "(Bitvec *)((int)&pBVar60[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar60[-1].u + 499)" ( (binary_expression "(int)&pBVar60[-1].u + 499" (cast_expression "(int)&pBVar60[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar60[-1].u" & (field_expression "pBVar60[-1].u" (subscript_expression "pBVar60[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2));" (assignment_expression "pBVar53 = (Bitvec *)((int)pBVar53 - (uVar2 + 2))" identifier = (cast_expression "(Bitvec *)((int)pBVar53 - (uVar2 + 2))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar53 - (uVar2 + 2))" ( (binary_expression "(int)pBVar53 - (uVar2 + 2)" (cast_expression "(int)pBVar53" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(uVar2 + 2)" ( (binary_expression "uVar2 + 2" identifier + number_literal) ))) )))) ;) (expression_statement "pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2);" (assignment_expression "pBVar51 = (Bitvec *)((int)&pBVar51[-1].u + 0x1f2)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51[-1].u + 0x1f2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[-1].u + 0x1f2)" ( (binary_expression "(int)&pBVar51[-1].u + 0x1f2" (cast_expression "(int)&pBVar51[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[-1].u" & (field_expression "pBVar51[-1].u" (subscript_expression "pBVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "(-1 < (int)pBVar56)" ( (binary_expression "-1 < (int)pBVar56" number_literal < (cast_expression "(int)pBVar56" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "pBStack_1ec->iSize = (u32)pBVar54;" (assignment_expression "pBStack_1ec->iSize = (u32)pBVar54" (field_expression "pBStack_1ec->iSize" identifier -> field_identifier) = (cast_expression "(u32)pBVar54" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53;" (assignment_expression "pBStack_1ec[-1].u.aHash[0x7c] = (u32)pBVar53" (subscript_expression "pBStack_1ec[-1].u.aHash[0x7c]" (field_expression "pBStack_1ec[-1].u.aHash" (field_expression "pBStack_1ec[-1].u" (subscript_expression "pBStack_1ec[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ]) = (cast_expression "(u32)pBVar53" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "pBStack_1b0 = pBVar52;" (assignment_expression "pBStack_1b0 = pBVar52" identifier = identifier) ;) (if_statement "if (pBStack_1e8 == (Bitvec *)0x0) {\n      bVar5 = 0 < (int)pBVar60;\n      pBVar51 = pBVar52;\n      pBVar54 = pBVar60;\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      if (bVar5) goto LAB_000a4ef4;\n      break;\n    }" if (parenthesized_expression "(pBStack_1e8 == (Bitvec *)0x0)" ( (binary_expression "pBStack_1e8 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar5 = 0 < (int)pBVar60;\n      pBVar51 = pBVar52;\n      pBVar54 = pBVar60;\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      if (bVar5) goto LAB_000a4ef4;\n      break;\n    }" { (expression_statement "bVar5 = 0 < (int)pBVar60;" (assignment_expression "bVar5 = 0 < (int)pBVar60" identifier = (binary_expression "0 < (int)pBVar60" number_literal < (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pBVar51 = pBVar52;" (assignment_expression "pBVar51 = pBVar52" identifier = identifier) ;) (expression_statement "pBVar54 = pBVar60;" (assignment_expression "pBVar54 = pBVar60" identifier = identifier) ;) (expression_statement "pBVar56 = pTo;" (assignment_expression "pBVar56 = pTo" identifier = identifier) ;) (expression_statement "pBVar60 = pBVar8;" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) ;) (if_statement "if (bVar5) goto LAB_000a4ef4;" if (parenthesized_expression "(bVar5)" ( identifier )) (goto_statement "goto LAB_000a4ef4;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0);" (assignment_expression "pBStack_1ec = (Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1ec[-1].u + 0x1f0)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1ec[-1].u + 0x1f0)" ( (binary_expression "(int)&pBStack_1ec[-1].u + 0x1f0" (cast_expression "(int)&pBStack_1ec[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1ec[-1].u" & (field_expression "pBStack_1ec[-1].u" (subscript_expression "pBStack_1ec[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0);" (assignment_expression "pBVar56 = (Bitvec *)((int)&pBVar19[-1].u + 0x1f0)" identifier = (cast_expression "(Bitvec *)((int)&pBVar19[-1].u + 0x1f0)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar19[-1].u + 0x1f0)" ( (binary_expression "(int)&pBVar19[-1].u + 0x1f0" (cast_expression "(int)&pBVar19[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar19[-1].u" & (field_expression "pBVar19[-1].u" (subscript_expression "pBVar19[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar54 = pBVar53;" (assignment_expression "pBVar54 = pBVar53" identifier = identifier) ;) }) while (parenthesized_expression "((int)pBVar19[-1].u.aHash[0x7b] < (int)pBVar60)" ( (binary_expression "(int)pBVar19[-1].u.aHash[0x7b] < (int)pBVar60" (cast_expression "(int)pBVar19[-1].u.aHash[0x7b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pBVar19[-1].u.aHash[0x7b]" (field_expression "pBVar19[-1].u.aHash" (field_expression "pBVar19[-1].u" (subscript_expression "pBVar19[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier) [ number_literal ])) < (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "uVar32 = 0x114c2;" (assignment_expression "uVar32 = 0x114c2" identifier = number_literal) ;) (expression_statement "pBStack_1d4 = pBVar19;" (assignment_expression "pBStack_1d4 = pBVar19" identifier = identifier) ;) (labeled_statement "LAB_000a46ec:\n  pBStack_188 = (Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32);" statement_identifier : (expression_statement "pBStack_188 = (Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32);" (assignment_expression "pBStack_188 = (Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32)" identifier = (cast_expression "(Bitvec *)(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))(uVar32)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0)" * (cast_expression "(code *)(*(int *)(puVar57 + 0xb7620) + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x75c0)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar32)" ( identifier ))))) ;)) (expression_statement "pBVar52 = pBVar51;" (assignment_expression "pBVar52 = pBVar51" identifier = identifier) ;) (expression_statement "pBVar19 = pBStack_1d4;" (assignment_expression "pBVar19 = pBStack_1d4" identifier = identifier) ;) (labeled_statement "LAB_000a443c:\n  pBStack_1d4 = pBVar19;" statement_identifier : (expression_statement "pBStack_1d4 = pBVar19;" (assignment_expression "pBStack_1d4 = pBVar19" identifier = identifier) ;)) (expression_statement "i = (int)pBVar54;" (assignment_expression "i = (int)pBVar54" identifier = (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pTo = pBVar56;" (assignment_expression "pTo = pBVar56" identifier = identifier) ;) (expression_statement "pBVar8 = pBVar60;" (assignment_expression "pBVar8 = pBVar60" identifier = identifier) ;) (if_statement "if ((Bitvec *)auStack_cc[2] != (Bitvec *)0x0) {\n    (**(code **)(puVar57 + 0xb7500))();\n  }" if (parenthesized_expression "((Bitvec *)auStack_cc[2] != (Bitvec *)0x0)" ( (binary_expression "(Bitvec *)auStack_cc[2] != (Bitvec *)0x0" (cast_expression "(Bitvec *)auStack_cc[2]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar57 + 0xb7500))();\n  }" { (expression_statement "(**(code **)(puVar57 + 0xb7500))();" (call_expression "(**(code **)(puVar57 + 0xb7500))()" (parenthesized_expression "(**(code **)(puVar57 + 0xb7500))" ( (pointer_expression "**(code **)(puVar57 + 0xb7500)" * (pointer_expression "*(code **)(puVar57 + 0xb7500)" * (cast_expression "(code **)(puVar57 + 0xb7500)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb7500)" ( (binary_expression "puVar57 + 0xb7500" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000a4454:\n  iChild = (int)apsStack_150 + iStack_1d0 + 4;" statement_identifier : (expression_statement "iChild = (int)apsStack_150 + iStack_1d0 + 4;" (assignment_expression "iChild = (int)apsStack_150 + iStack_1d0 + 4" identifier = (binary_expression "(int)apsStack_150 + iStack_1d0 + 4" (binary_expression "(int)apsStack_150 + iStack_1d0" (cast_expression "(int)apsStack_150" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;)) (expression_statement "pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);" (assignment_expression "pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc)" identifier = (cast_expression "(u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb753c) + -0x1cbc)" ( (binary_expression "*(int *)(puVar57 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar57 + 0xb753c)" * (cast_expression "(int *)(puVar57 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb753c)" ( (binary_expression "puVar57 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pPage = (MemPage *)ppsStack_1dc;" (assignment_expression "pPage = (MemPage *)ppsStack_1dc" identifier = (cast_expression "(MemPage *)ppsStack_1dc" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n    }\n    pPage = (MemPage *)((int)pPage + 4);\n  } while (pPage != (MemPage *)iChild);" do (compound_statement "{\n    if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n    }\n    pPage = (MemPage *)((int)pPage + 4);\n  }" { (if_statement "if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n    }" if (parenthesized_expression "(*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0)" ( (binary_expression "*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0" (pointer_expression "*(sqlite3_vfs **)pPage" * (cast_expression "(sqlite3_vfs **)pPage" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n    }" { (expression_statement "(*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);" (call_expression "(*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64)" (parenthesized_expression "(*(code *)pCell)" ( (pointer_expression "*(code *)pCell" * (cast_expression "(code *)pCell" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64)" ( (field_expression "(*(sqlite3_vfs **)pPage)->xCurrentTimeInt64" (parenthesized_expression "(*(sqlite3_vfs **)pPage)" ( (pointer_expression "*(sqlite3_vfs **)pPage" * (cast_expression "(sqlite3_vfs **)pPage" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) -> field_identifier) ))) ;) })) (expression_statement "pPage = (MemPage *)((int)pPage + 4);" (assignment_expression "pPage = (MemPage *)((int)pPage + 4)" identifier = (cast_expression "(MemPage *)((int)pPage + 4)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPage + 4)" ( (binary_expression "(int)pPage + 4" (cast_expression "(int)pPage" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pPage != (MemPage *)iChild)" ( (binary_expression "pPage != (MemPage *)iChild" identifier != (cast_expression "(MemPage *)iChild" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) (if_statement "if (unaff_s7 != (Bitvec *)0x0) {\n    pPage = (MemPage *)(apsStack_150 + 3);\n    pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n    iChild = (int)pPage + unaff_s7 * 4;\n    do {\n      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }\n      pPage = (MemPage *)((int)pPage + 4);\n    } while ((MemPage *)iChild != pPage);\n  }" if (parenthesized_expression "(unaff_s7 != (Bitvec *)0x0)" ( (binary_expression "unaff_s7 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pPage = (MemPage *)(apsStack_150 + 3);\n    pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);\n    iChild = (int)pPage + unaff_s7 * 4;\n    do {\n      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }\n      pPage = (MemPage *)((int)pPage + 4);\n    } while ((MemPage *)iChild != pPage);\n  }" { (expression_statement "pPage = (MemPage *)(apsStack_150 + 3);" (assignment_expression "pPage = (MemPage *)(apsStack_150 + 3)" identifier = (cast_expression "(MemPage *)(apsStack_150 + 3)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(apsStack_150 + 3)" ( (binary_expression "apsStack_150 + 3" identifier + number_literal) )))) ;) (expression_statement "pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc);" (assignment_expression "pCell = (u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc)" identifier = (cast_expression "(u8 *)(*(int *)(puVar57 + 0xb753c) + -0x1cbc)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb753c) + -0x1cbc)" ( (binary_expression "*(int *)(puVar57 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar57 + 0xb753c)" * (cast_expression "(int *)(puVar57 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb753c)" ( (binary_expression "puVar57 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iChild = (int)pPage + unaff_s7 * 4;" (assignment_expression "iChild = (int)pPage + unaff_s7 * 4" identifier = (binary_expression "(int)pPage + unaff_s7 * 4" (cast_expression "(int)pPage" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "unaff_s7 * 4" identifier * number_literal))) ;) (do_statement "do {\n      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }\n      pPage = (MemPage *)((int)pPage + 4);\n    } while ((MemPage *)iChild != pPage);" do (compound_statement "{\n      if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }\n      pPage = (MemPage *)((int)pPage + 4);\n    }" { (if_statement "if (*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0) {\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }" if (parenthesized_expression "(*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0)" ( (binary_expression "*(sqlite3_vfs **)pPage != (sqlite3_vfs *)0x0" (pointer_expression "*(sqlite3_vfs **)pPage" * (cast_expression "(sqlite3_vfs **)pPage" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);\n      }" { (expression_statement "(*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64);" (call_expression "(*(code *)pCell)((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64)" (parenthesized_expression "(*(code *)pCell)" ( (pointer_expression "*(code *)pCell" * (cast_expression "(code *)pCell" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((*(sqlite3_vfs **)pPage)->xCurrentTimeInt64)" ( (field_expression "(*(sqlite3_vfs **)pPage)->xCurrentTimeInt64" (parenthesized_expression "(*(sqlite3_vfs **)pPage)" ( (pointer_expression "*(sqlite3_vfs **)pPage" * (cast_expression "(sqlite3_vfs **)pPage" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) -> field_identifier) ))) ;) })) (expression_statement "pPage = (MemPage *)((int)pPage + 4);" (assignment_expression "pPage = (MemPage *)((int)pPage + 4)" identifier = (cast_expression "(MemPage *)((int)pPage + 4)" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPage + 4)" ( (binary_expression "(int)pPage + 4" (cast_expression "(int)pPage" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((MemPage *)iChild != pPage)" ( (binary_expression "(MemPage *)iChild != pPage" (cast_expression "(MemPage *)iChild" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) })) (labeled_statement "LAB_000a44d0:\n  if ((Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10) {\n    return;\n  }" statement_identifier : (if_statement "if ((Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10) {\n    return;\n  }" if (parenthesized_expression "((Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10)" ( (binary_expression "(Bitvec *)abStack_8c._8_4_ == (Bitvec *)*pPVar10" (cast_expression "(Bitvec *)abStack_8c._8_4_" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "abStack_8c._8_4_" identifier . field_identifier)) == (cast_expression "(Bitvec *)*pPVar10" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pPVar10" * identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pBVar47 = (Bitvec *)abStack_8c._8_4_;" (assignment_expression "pBVar47 = (Bitvec *)abStack_8c._8_4_" identifier = (cast_expression "(Bitvec *)abStack_8c._8_4_" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "abStack_8c._8_4_" identifier . field_identifier))) ;) (expression_statement "(**(code **)(puVar57 + 0xb78f0))();" (call_expression "(**(code **)(puVar57 + 0xb78f0))()" (parenthesized_expression "(**(code **)(puVar57 + 0xb78f0))" ( (pointer_expression "**(code **)(puVar57 + 0xb78f0)" * (pointer_expression "*(code **)(puVar57 + 0xb78f0)" * (cast_expression "(code **)(puVar57 + 0xb78f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb78f0)" ( (binary_expression "puVar57 + 0xb78f0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pBVar51 = extraout_v1;" (assignment_expression "pBVar51 = extraout_v1" identifier = identifier) ;) (expression_statement "pBVar54 = (Bitvec *)i;" (assignment_expression "pBVar54 = (Bitvec *)i" identifier = (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "i = (int)unaff_s7;" (assignment_expression "i = (int)unaff_s7" identifier = (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (do_statement "do {\n    if ((pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))) goto LAB_000a53d0;\n    do {\n      if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }\n      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }\n      pBVar47 = (Bitvec *)auStack_cc[0];\n      pBVar56 = pTo;\n      unaff_s7 = pBVar54;\n      pBVar60 = pBVar8;\n      pBVar19 = pBStack_1d4;\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]));\n  } while( true );" do (compound_statement "{\n    if ((pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))) goto LAB_000a53d0;\n    do {\n      if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }\n      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }\n      pBVar47 = (Bitvec *)auStack_cc[0];\n      pBVar56 = pTo;\n      unaff_s7 = pBVar54;\n      pBVar60 = pBVar8;\n      pBVar19 = pBStack_1d4;\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]));\n  }" { (if_statement "if ((pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))) goto LAB_000a53d0;" if (parenthesized_expression "((pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize)))" ( (binary_expression "(pBVar51 <= pBVar53) &&\n       (pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))" (parenthesized_expression "(pBVar51 <= pBVar53)" ( (binary_expression "pBVar51 <= pBVar53" identifier <= identifier) )) && (parenthesized_expression "(pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize))" ( (binary_expression "pBVar53 < (Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize)" identifier < (cast_expression "(Bitvec *)((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1c4->iSize + (int)&pBVar51->iSize)" ( (binary_expression "(int)&pBStack_1c4->iSize + (int)&pBVar51->iSize" (cast_expression "(int)&pBStack_1c4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1c4->iSize" & (field_expression "pBStack_1c4->iSize" identifier -> field_identifier))) + (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier)))) )))) ))) )) (goto_statement "goto LAB_000a53d0;" goto statement_identifier ;)) (do_statement "do {\n      if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }\n      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }\n      pBVar47 = (Bitvec *)auStack_cc[0];\n      pBVar56 = pTo;\n      unaff_s7 = pBVar54;\n      pBVar60 = pBVar8;\n      pBVar19 = pBStack_1d4;\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]));" do (compound_statement "{\n      if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);\n      if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }\n      if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }\n      pBVar47 = (Bitvec *)auStack_cc[0];\n      pBVar56 = pTo;\n      unaff_s7 = pBVar54;\n      pBVar60 = pBVar8;\n      pBVar19 = pBStack_1d4;\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);\n    }" { (if_statement "if (ppBStack_1e0 == (Bitvec **)0x0) {\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }" if (parenthesized_expression "(ppBStack_1e0 == (Bitvec **)0x0)" ( (binary_expression "ppBStack_1e0 == (Bitvec **)0x0" identifier == (cast_expression "(Bitvec **)0x0" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);\n      }" { (expression_statement "ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188);" (call_expression "ptrmapPut((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188)" identifier (argument_list "((BtShared *)pBVar8,(Pgno)pBVar53->iSize,'\x05',((Bitvec *)iChild)->nSet,\n                  (int *)&pBStack_188)" ( (cast_expression "(BtShared *)pBVar8" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Pgno)pBVar53->iSize" ( (type_descriptor "Pgno" type_identifier) ) (field_expression "pBVar53->iSize" identifier -> field_identifier)) , (char_literal "'\x05'" ' escape_sequence ') , (field_expression "((Bitvec *)iChild)->nSet" (parenthesized_expression "((Bitvec *)iChild)" ( (cast_expression "(Bitvec *)iChild" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) , (cast_expression "(int *)&pBStack_188" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_188" & identifier)) ))) ;) })) (expression_statement "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2);" (assignment_expression "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2)" identifier = (binary_expression "(uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + (int)pBVar52 * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "(int)pBVar52 * 2" (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (uVar30 == 0) {\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }" if (parenthesized_expression "(uVar30 == 0)" ( (binary_expression "uVar30 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);\n      }" { (expression_statement "uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52);" (assignment_expression "uVar30 = (*(code *)pBStack_1b8)(auStack_cc,pBVar52)" identifier = (call_expression "(*(code *)pBStack_1b8)(auStack_cc,pBVar52)" (parenthesized_expression "(*(code *)pBStack_1b8)" ( (pointer_expression "*(code *)pBStack_1b8" * (cast_expression "(code *)pBStack_1b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc,pBVar52)" ( identifier , identifier )))) ;) })) (if_statement "if (*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30) {\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }" if (parenthesized_expression "(*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30)" ( (binary_expression "*(ushort *)((int)&((Bitvec *)iChild)->u + 4) < uVar30" (pointer_expression "*(ushort *)((int)&((Bitvec *)iChild)->u + 4)" * (cast_expression "(ushort *)((int)&((Bitvec *)iChild)->u + 4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Bitvec *)iChild)->u + 4)" ( (binary_expression "(int)&((Bitvec *)iChild)->u + 4" (cast_expression "(int)&((Bitvec *)iChild)->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)iChild)->u" & (field_expression "((Bitvec *)iChild)->u" (parenthesized_expression "((Bitvec *)iChild)" ( (cast_expression "(Bitvec *)iChild" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) < identifier) )) (compound_statement "{\n        (*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);\n      }" { (expression_statement "(*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188);" (call_expression "(*(code *)pbStack_1c0)\n                  (iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188)" (parenthesized_expression "(*(code *)pbStack_1c0)" ( (pointer_expression "*(code *)pbStack_1c0" * (cast_expression "(code *)pbStack_1c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iChild,(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30),pBVar53,&pBStack_188)" ( identifier , (cast_expression "(undefined1 *)((int)&((Bitvec *)pPage)->u + 0x30)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Bitvec *)pPage)->u + 0x30)" ( (binary_expression "(int)&((Bitvec *)pPage)->u + 0x30" (cast_expression "(int)&((Bitvec *)pPage)->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)pPage)->u" & (field_expression "((Bitvec *)pPage)->u" (parenthesized_expression "((Bitvec *)pPage)" ( (cast_expression "(Bitvec *)pPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) ))) , identifier , (pointer_expression "&pBStack_188" & identifier) ))) ;) })) (expression_statement "pBVar47 = (Bitvec *)auStack_cc[0];" (assignment_expression "pBVar47 = (Bitvec *)auStack_cc[0]" identifier = (cast_expression "(Bitvec *)auStack_cc[0]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) ;) (expression_statement "pBVar56 = pTo;" (assignment_expression "pBVar56 = pTo" identifier = identifier) ;) (expression_statement "unaff_s7 = pBVar54;" (assignment_expression "unaff_s7 = pBVar54" identifier = identifier) ;) (expression_statement "pBVar60 = pBVar8;" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) ;) (expression_statement "pBVar19 = pBStack_1d4;" (assignment_expression "pBVar19 = pBStack_1d4" identifier = identifier) ;) (if_statement "if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;" if (parenthesized_expression "(pBStack_188 != (Bitvec *)0x0)" ( (binary_expression "pBStack_188 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (labeled_statement "LAB_000a53d0:\n      do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);" statement_identifier : (do_statement "do {\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      } while (pcStack_1e4 == (code *)0x0);" do (compound_statement "{\n        pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);\n        pBVar51 = pBStack_1b0;\n        if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;\nLAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];\n        if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }\n        if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;\n        pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);\n        pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);\n        iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];\n      }" { (expression_statement "pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1);" (assignment_expression "pBVar52 = (Bitvec *)((int)&pBVar52->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar52->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->iSize + 1)" ( (binary_expression "(int)&pBVar52->iSize + 1" (cast_expression "(int)&pBVar52->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iSize" & (field_expression "pBVar52->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar51 = pBStack_1b0;" (assignment_expression "pBVar51 = pBStack_1b0" identifier = identifier) ;) (if_statement "if ((int)pBVar47 <= (int)pBVar52) goto LAB_000a5474;" if (parenthesized_expression "((int)pBVar47 <= (int)pBVar52)" ( (binary_expression "(int)pBVar47 <= (int)pBVar52" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (labeled_statement "LAB_000a53dc:\n        pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];" statement_identifier : (expression_statement "pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52];" (assignment_expression "pBVar53 = (Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52]" identifier = (cast_expression "(Bitvec *)((u32 *)auStack_cc[2])[(int)pBVar52]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((u32 *)auStack_cc[2])[(int)pBVar52]" (parenthesized_expression "((u32 *)auStack_cc[2])" ( (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) [ (cast_expression "(int)pBVar52" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ;)) (if_statement "if (pBVar52 == pBStack_1f0) {\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }" if (parenthesized_expression "(pBVar52 == pBStack_1f0)" ( (binary_expression "pBVar52 == pBStack_1f0" identifier == identifier) )) (compound_statement "{\n          pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);\n          if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }\n          pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];\n          pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );\n        }" { (expression_statement "pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1);" (assignment_expression "pCell = (u8 *)((int)&((Bitvec *)pCell)->iSize + 1)" identifier = (cast_expression "(u8 *)((int)&((Bitvec *)pCell)->iSize + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Bitvec *)pCell)->iSize + 1)" ( (binary_expression "(int)&((Bitvec *)pCell)->iSize + 1" (cast_expression "(int)&((Bitvec *)pCell)->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)pCell)->iSize" & (field_expression "((Bitvec *)pCell)->iSize" (parenthesized_expression "((Bitvec *)pCell)" ( (cast_expression "(Bitvec *)pCell" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) )))) ;) (if_statement "if ((int)pCell < (int)pBVar54) {\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }\n          else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }" if (parenthesized_expression "((int)pCell < (int)pBVar54)" ( (binary_expression "(int)pCell < (int)pBVar54" (cast_expression "(int)pCell" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];\n          }" { (expression_statement "pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499];" (assignment_expression "pPage = (MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499]" identifier = (cast_expression "(MemPage *)aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499]" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "aiStack_140[(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499]" identifier [ (binary_expression "(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash + 499" (cast_expression "(int)(((Bitvec *)((int)pCell + -0x200))->u).aHash" ( (type_descriptor "int" primitive_type) ) (field_expression "(((Bitvec *)((int)pCell + -0x200))->u).aHash" (parenthesized_expression "(((Bitvec *)((int)pCell + -0x200))->u)" ( (field_expression "((Bitvec *)((int)pCell + -0x200))->u" (parenthesized_expression "((Bitvec *)((int)pCell + -0x200))" ( (cast_expression "(Bitvec *)((int)pCell + -0x200)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pCell + -0x200)" ( (binary_expression "(int)pCell + -0x200" (cast_expression "(int)pCell" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )) -> field_identifier) )) . field_identifier)) + number_literal) ]))) ;) }) (else_clause "else {\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }" else (compound_statement "{\n            pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];\n          }" { (expression_statement "pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)];" (assignment_expression "pPage = (MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)]" identifier = (cast_expression "(MemPage *)apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)]" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apsStack_164[(int)((int)&((Bitvec *)pCell)->nSet + 1)]" identifier [ (cast_expression "(int)((int)&((Bitvec *)pCell)->nSet + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&((Bitvec *)pCell)->nSet + 1)" ( (binary_expression "(int)&((Bitvec *)pCell)->nSet + 1" (cast_expression "(int)&((Bitvec *)pCell)->nSet" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)pCell)->nSet" & (field_expression "((Bitvec *)pCell)->nSet" (parenthesized_expression "((Bitvec *)pCell)" ( (cast_expression "(Bitvec *)pCell" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) ))) ]))) ;) }))) (expression_statement "pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb];" (assignment_expression "pBStack_1e8 = (((Bitvec *)pPage)->u).apSub[0xb]" identifier = (subscript_expression "(((Bitvec *)pPage)->u).apSub[0xb]" (field_expression "(((Bitvec *)pPage)->u).apSub" (parenthesized_expression "(((Bitvec *)pPage)->u)" ( (field_expression "((Bitvec *)pPage)->u" (parenthesized_expression "((Bitvec *)pPage)" ( (cast_expression "(Bitvec *)pPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        );" (assignment_expression "pBStack_1f0 = (Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        )" identifier = (cast_expression "(Bitvec *)\n                        ((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        )" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)\n                        )" ( (binary_expression "(int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0] + (uint)(pcStack_1e4 == (code *)0x0)" (binary_expression "(int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10) +\n                        (uint)(((Bitvec *)pPage)->u).aBitmap[0]" (binary_expression "(int)&pBStack_1f0->iSize +\n                        (uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10)" (cast_expression "(int)&pBStack_1f0->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f0->iSize" & (field_expression "pBStack_1f0->iSize" identifier -> field_identifier))) + (binary_expression "(uint)*(ushort *)((int)&((Bitvec *)pPage)->u + 10)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)&((Bitvec *)pPage)->u + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&((Bitvec *)pPage)->u + 10)" ( (binary_expression "(int)&((Bitvec *)pPage)->u + 10" (cast_expression "(int)&((Bitvec *)pPage)->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)pPage)->u" & (field_expression "((Bitvec *)pPage)->u" (parenthesized_expression "((Bitvec *)pPage)" ( (cast_expression "(Bitvec *)pPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal) ))))) + (subscript_expression "(uint)(((Bitvec *)pPage)->u).aBitmap[0]" (field_expression "(uint)(((Bitvec *)pPage)->u).aBitmap" (call_expression "(uint)(((Bitvec *)pPage)->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((Bitvec *)pPage)->u)" ( (field_expression "((Bitvec *)pPage)->u" (parenthesized_expression "((Bitvec *)pPage)" ( (cast_expression "(Bitvec *)pPage" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) ))) . field_identifier) [ number_literal ])) + (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) )))) ;) })) (if_statement "if (*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52) break;" if (parenthesized_expression "(*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52)" ( (binary_expression "*(Bitvec **)(abStack_130 + (int)pBStack_1c8) != pBVar52" (pointer_expression "*(Bitvec **)(abStack_130 + (int)pBStack_1c8)" * (cast_expression "(Bitvec **)(abStack_130 + (int)pBStack_1c8)" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(abStack_130 + (int)pBStack_1c8)" ( (binary_expression "abStack_130 + (int)pBStack_1c8" identifier + (cast_expression "(int)pBStack_1c8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) != identifier) )) (break_statement "break;" break ;)) (expression_statement "pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1);" (assignment_expression "pBStack_1d4 = (Bitvec *)((int)&pBStack_1d4->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1d4->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1d4->iSize + 1)" ( (binary_expression "(int)&pBStack_1d4->iSize + 1" (cast_expression "(int)&pBStack_1d4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1d4->iSize" & (field_expression "pBStack_1d4->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4);" (assignment_expression "pBStack_1c8 = (Bitvec *)((int)pBStack_1d4 * 4)" identifier = (cast_expression "(Bitvec *)((int)pBStack_1d4 * 4)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBStack_1d4 * 4)" ( (binary_expression "(int)pBStack_1d4 * 4" (cast_expression "(int)pBStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)];" (assignment_expression "iChild = (Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)]" identifier = (cast_expression "(Pgno)apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)]" ( (type_descriptor "Pgno" type_identifier) ) (subscript_expression "apsStack_150[(int)((int)&pBStack_1d4->iSize + 3)]" identifier [ (cast_expression "(int)((int)&pBStack_1d4->iSize + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBStack_1d4->iSize + 3)" ( (binary_expression "(int)&pBStack_1d4->iSize + 3" (cast_expression "(int)&pBStack_1d4->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1d4->iSize" & (field_expression "pBStack_1d4->iSize" identifier -> field_identifier))) + number_literal) ))) ]))) ;) }) while (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) }) while (parenthesized_expression "(((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]))" ( (binary_expression "((int)pBVar54 <= (int)pCell) ||\n            (pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell])" (parenthesized_expression "((int)pBVar54 <= (int)pCell)" ( (binary_expression "(int)pBVar54 <= (int)pCell" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pCell" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell])" ( (comma_expression "pBVar51 = pBStack_1e8, ((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]" (assignment_expression "pBVar51 = pBStack_1e8" identifier = identifier) , (binary_expression "((Bitvec *)iChild)->nSet != auStack_f4[(int)pCell]" (field_expression "((Bitvec *)iChild)->nSet" (parenthesized_expression "((Bitvec *)iChild)" ( (cast_expression "(Bitvec *)iChild" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) != (subscript_expression "auStack_f4[(int)pCell]" identifier [ (cast_expression "(int)pCell" ( (type_descriptor "int" primitive_type) ) identifier) ]))) ))) )) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_000a46e0:\n  uVar32 = 0x11403;" statement_identifier : (expression_statement "uVar32 = 0x11403;" (assignment_expression "uVar32 = 0x11403" identifier = number_literal) ;)) (expression_statement "pBStack_1ec = (Bitvec *)0x0;" (assignment_expression "pBStack_1ec = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBStack_1f0 = (Bitvec *)apPStack_108;" (assignment_expression "pBStack_1f0 = (Bitvec *)apPStack_108" identifier = (cast_expression "(Bitvec *)apPStack_108" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_1e8 = pBVar8;" (assignment_expression "pBStack_1e8 = pBVar8" identifier = identifier) ;) (expression_statement "pBStack_1d4 = pTo;" (assignment_expression "pBStack_1d4 = pTo" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) (labeled_statement "LAB_000a5474:\n  unaff_s7 = pBVar54;" statement_identifier : (expression_statement "unaff_s7 = pBVar54;" (assignment_expression "unaff_s7 = pBVar54" identifier = identifier) ;)) (if_statement "if (pBVar51 != (Bitvec *)0x0) {\n    pBStack_1f0 = (Bitvec *)0x0;\n    pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_);\n    pBStack_1e8 = (Bitvec *)&pBStack_188;\n    iVar31 = *(int *)(puVar57 + 0xb75e4);\n    pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54);\n    pBVar51 = (Bitvec *)abStack_8c._56_4_;\n    pBVar53 = pBStack_1ec;\n    do {\n      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);\n      pBVar52 = (Bitvec *)pBVar53->iSize;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);\n      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];\n      iVar18 = uVar30 + (int)ppBStack_1e0;\n      if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }\n      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);\n      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while (pBVar51 != pBVar19);\n  }" if (parenthesized_expression "(pBVar51 != (Bitvec *)0x0)" ( (binary_expression "pBVar51 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pBStack_1f0 = (Bitvec *)0x0;\n    pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_);\n    pBStack_1e8 = (Bitvec *)&pBStack_188;\n    iVar31 = *(int *)(puVar57 + 0xb75e4);\n    pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54);\n    pBVar51 = (Bitvec *)abStack_8c._56_4_;\n    pBVar53 = pBStack_1ec;\n    do {\n      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);\n      pBVar52 = (Bitvec *)pBVar53->iSize;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);\n      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];\n      iVar18 = uVar30 + (int)ppBStack_1e0;\n      if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }\n      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);\n      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while (pBVar51 != pBVar19);\n  }" { (expression_statement "pBStack_1f0 = (Bitvec *)0x0;" (assignment_expression "pBStack_1f0 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_);" (assignment_expression "pBVar19 = (Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_)" ( (binary_expression "(int)&pBVar51->iSize + (int)(sqlite3_vfs **)abStack_8c._56_4_" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + (cast_expression "(int)(sqlite3_vfs **)abStack_8c._56_4_" ( (type_descriptor "int" primitive_type) ) (cast_expression "(sqlite3_vfs **)abStack_8c._56_4_" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "abStack_8c._56_4_" identifier . field_identifier)))) )))) ;) (expression_statement "pBStack_1e8 = (Bitvec *)&pBStack_188;" (assignment_expression "pBStack_1e8 = (Bitvec *)&pBStack_188" identifier = (cast_expression "(Bitvec *)&pBStack_188" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_188" & identifier))) ;) (expression_statement "iVar31 = *(int *)(puVar57 + 0xb75e4);" (assignment_expression "iVar31 = *(int *)(puVar57 + 0xb75e4)" identifier = (pointer_expression "*(int *)(puVar57 + 0xb75e4)" * (cast_expression "(int *)(puVar57 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb75e4)" ( (binary_expression "puVar57 + 0xb75e4" identifier + number_literal) ))))) ;) (expression_statement "pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54);" (assignment_expression "pBStack_1c4 = (Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb75b8) + 0x54)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb75b8) + 0x54)" ( (binary_expression "*(int *)(puVar57 + 0xb75b8) + 0x54" (pointer_expression "*(int *)(puVar57 + 0xb75b8)" * (cast_expression "(int *)(puVar57 + 0xb75b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb75b8)" ( (binary_expression "puVar57 + 0xb75b8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pBVar51 = (Bitvec *)abStack_8c._56_4_;" (assignment_expression "pBVar51 = (Bitvec *)abStack_8c._56_4_" identifier = (cast_expression "(Bitvec *)abStack_8c._56_4_" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "abStack_8c._56_4_" identifier . field_identifier))) ;) (expression_statement "pBVar53 = pBStack_1ec;" (assignment_expression "pBVar53 = pBStack_1ec" identifier = identifier) ;) (do_statement "do {\n      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);\n      pBVar52 = (Bitvec *)pBVar53->iSize;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);\n      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];\n      iVar18 = uVar30 + (int)ppBStack_1e0;\n      if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }\n      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);\n      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    } while (pBVar51 != pBVar19);" do (compound_statement "{\n      pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);\n      pBVar52 = (Bitvec *)pBVar53->iSize;\n      uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);\n      pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];\n      iVar18 = uVar30 + (int)ppBStack_1e0;\n      if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }\n      pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);\n      (*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);\n      pBVar56 = pTo;\n      pBVar60 = pBVar8;\n      pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);\n      if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;\n      pBVar53 = (Bitvec *)&pBVar53->nSet;\n    }" { (expression_statement "pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0);" (assignment_expression "pbVar50 = (byte *)((int)piStack_1d8 + (int)pBStack_1f0)" identifier = (cast_expression "(byte *)((int)piStack_1d8 + (int)pBStack_1f0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_1d8 + (int)pBStack_1f0)" ( (binary_expression "(int)piStack_1d8 + (int)pBStack_1f0" (cast_expression "(int)piStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pBStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pBVar52 = (Bitvec *)pBVar53->iSize;" (assignment_expression "pBVar52 = (Bitvec *)pBVar53->iSize" identifier = (cast_expression "(Bitvec *)pBVar53->iSize" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar53->iSize" identifier -> field_identifier))) ;) (expression_statement "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2);" (assignment_expression "uVar30 = (uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2)" identifier = (binary_expression "(uint)*(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[3] + (int)pBStack_1a8->iSize * 2" (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ]))) + (binary_expression "(int)pBStack_1a8->iSize * 2" (cast_expression "(int)pBStack_1a8->iSize" ( (type_descriptor "int" primitive_type) ) (field_expression "pBStack_1a8->iSize" identifier -> field_identifier)) * number_literal)) ))))) ;) (expression_statement "pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize];" (assignment_expression "pbVar39 = (byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize]" identifier = (cast_expression "(byte *)((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((u32 *)auStack_cc[2])[(int)pBStack_1a8->iSize]" (parenthesized_expression "((u32 *)auStack_cc[2])" ( (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) )) [ (cast_expression "(int)pBStack_1a8->iSize" ( (type_descriptor "int" primitive_type) ) (field_expression "pBStack_1a8->iSize" identifier -> field_identifier)) ]))) ;) (expression_statement "iVar18 = uVar30 + (int)ppBStack_1e0;" (assignment_expression "iVar18 = uVar30 + (int)ppBStack_1e0" identifier = (binary_expression "uVar30 + (int)ppBStack_1e0" identifier + (cast_expression "(int)ppBStack_1e0" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (*(u8 *)&pBVar52->iDivisor == '\0') {\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }" if (parenthesized_expression "(*(u8 *)&pBVar52->iDivisor == '\0')" ( (binary_expression "*(u8 *)&pBVar52->iDivisor == '\0'" (pointer_expression "*(u8 *)&pBVar52->iDivisor" * (cast_expression "(u8 *)&pBVar52->iDivisor" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar52->iDivisor" & (field_expression "pBVar52->iDivisor" identifier -> field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar26 = *(uint *)pbVar39;\n        puVar42 = (u8 *)(pBVar52->u).apSub[0xb];\n        puVar11 = puVar42 + 8;\n        uVar30 = (uint)puVar11 & 3;\n        *(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;\n        puVar42 = puVar42 + 0xb;\n        uVar30 = (uint)puVar42 & 3;\n        *(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;\n      }" { (expression_statement "uVar26 = *(uint *)pbVar39;" (assignment_expression "uVar26 = *(uint *)pbVar39" identifier = (pointer_expression "*(uint *)pbVar39" * (cast_expression "(uint *)pbVar39" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar42 = (u8 *)(pBVar52->u).apSub[0xb];" (assignment_expression "puVar42 = (u8 *)(pBVar52->u).apSub[0xb]" identifier = (cast_expression "(u8 *)(pBVar52->u).apSub[0xb]" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pBVar52->u).apSub[0xb]" (field_expression "(pBVar52->u).apSub" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "puVar11 = puVar42 + 8;" (assignment_expression "puVar11 = puVar42 + 8" identifier = (binary_expression "puVar42 + 8" identifier + number_literal)) ;) (expression_statement "uVar30 = (uint)puVar11 & 3;" (assignment_expression "uVar30 = (uint)puVar11 & 3" identifier = (binary_expression "(uint)puVar11 & 3" (cast_expression "(uint)puVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8;" (assignment_expression "*(uint *)(puVar11 + -uVar30) =\n             *(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8" (pointer_expression "*(uint *)(puVar11 + -uVar30)" * (cast_expression "(uint *)(puVar11 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -uVar30)" ( (binary_expression "puVar11 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) = (binary_expression "*(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8 | uVar26 >> uVar30 * 8" (binary_expression "*(uint *)(puVar11 + -uVar30) & -1 << (4 - uVar30) * 8" (pointer_expression "*(uint *)(puVar11 + -uVar30)" * (cast_expression "(uint *)(puVar11 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + -uVar30)" ( (binary_expression "puVar11 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) & (binary_expression "-1 << (4 - uVar30) * 8" number_literal << (binary_expression "(4 - uVar30) * 8" (parenthesized_expression "(4 - uVar30)" ( (binary_expression "4 - uVar30" number_literal - identifier) )) * number_literal))) | (binary_expression "uVar26 >> uVar30 * 8" identifier >> (binary_expression "uVar30 * 8" identifier * number_literal)))) ;) (expression_statement "puVar42 = puVar42 + 0xb;" (assignment_expression "puVar42 = puVar42 + 0xb" identifier = (binary_expression "puVar42 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar30 = (uint)puVar42 & 3;" (assignment_expression "uVar30 = (uint)puVar42 & 3" identifier = (binary_expression "(uint)puVar42 & 3" (cast_expression "(uint)puVar42" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "*(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8;" (assignment_expression "*(uint *)(puVar42 + -uVar30) =\n             *(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8" (pointer_expression "*(uint *)(puVar42 + -uVar30)" * (cast_expression "(uint *)(puVar42 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + -uVar30)" ( (binary_expression "puVar42 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) = (binary_expression "*(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8 |\n             uVar26 << (3 - uVar30) * 8" (binary_expression "*(uint *)(puVar42 + -uVar30) & 0xffffffffU >> (uVar30 + 1) * 8" (pointer_expression "*(uint *)(puVar42 + -uVar30)" * (cast_expression "(uint *)(puVar42 + -uVar30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + -uVar30)" ( (binary_expression "puVar42 + -uVar30" identifier + (unary_expression "-uVar30" - identifier)) )))) & (binary_expression "0xffffffffU >> (uVar30 + 1) * 8" number_literal >> (binary_expression "(uVar30 + 1) * 8" (parenthesized_expression "(uVar30 + 1)" ( (binary_expression "uVar30 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar26 << (3 - uVar30) * 8" identifier << (binary_expression "(3 - uVar30) * 8" (parenthesized_expression "(3 - uVar30)" ( (binary_expression "3 - uVar30" number_literal - identifier) )) * number_literal)))) ;) }) (else_clause "else if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }" else (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }\n      else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar39 = pbVar39 + -4;\n        if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }\n      }" { (expression_statement "pbVar39 = pbVar39 + -4;" (assignment_expression "pbVar39 = pbVar39 + -4" identifier = (binary_expression "pbVar39 + -4" identifier + number_literal)) ;) (if_statement "if (uVar30 == 4) {\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }" if (parenthesized_expression "(uVar30 == 4)" ( (binary_expression "uVar30 == 4" identifier == number_literal) )) (compound_statement "{\n          uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);\n          iVar18 = CONCAT22(extraout_var_01,uVar22);\n          pbStack_1c0 = pbVar39;\n        }" { (expression_statement "uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39);" (assignment_expression "uVar22 = (*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39)" identifier = (call_expression "(*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])((MemPage *)pTo,pbVar39)" (parenthesized_expression "(*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10])" ( (pointer_expression "*(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10]" * (cast_expression "(_func_u16_MemPage_ptr_u8_ptr *)(pTo->u).aHash[0x10]" ( (type_descriptor "_func_u16_MemPage_ptr_u8_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pTo->u).aHash[0x10]" (field_expression "(pTo->u).aHash" (parenthesized_expression "(pTo->u)" ( (field_expression "pTo->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) )) (argument_list "((MemPage *)pTo,pbVar39)" ( (cast_expression "(MemPage *)pTo" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (expression_statement "iVar18 = CONCAT22(extraout_var_01,uVar22);" (assignment_expression "iVar18 = CONCAT22(extraout_var_01,uVar22)" identifier = (call_expression "CONCAT22(extraout_var_01,uVar22)" identifier (argument_list "(extraout_var_01,uVar22)" ( identifier , identifier )))) ;) (expression_statement "pbStack_1c0 = pbVar39;" (assignment_expression "pbStack_1c0 = pbVar39" identifier = identifier) ;) })) }) (else_clause "else {\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }" else (compound_statement "{\n        (*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);\n        if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }\n        iVar18 = iVar18 + 4;\n        pbVar39 = pbVar50;\n        pbVar50 = (byte *)0x0;\n      }" { (expression_statement "(*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180);" (call_expression "(*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])\n                  ((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180)" (parenthesized_expression "(*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11])" ( (pointer_expression "*(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11]" * (cast_expression "(_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *)(pBVar52->u).aHash[0x11]" ( (type_descriptor "_func_void_MemPage_ptr_u8_ptr_CellInfo_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(pBVar52->u).aHash[0x11]" (field_expression "(pBVar52->u).aHash" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) )) (argument_list "((MemPage *)pBVar52,(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1],\n                   (CellInfo *)apBStack_180)" ( (cast_expression "(MemPage *)pBVar52" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(u8 *)((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1]" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)[-1]" (parenthesized_expression "((u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize)" ( (binary_expression "(u32 *)auStack_cc[2] + (int)pBStack_1a8->iSize" (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) + (cast_expression "(int)pBStack_1a8->iSize" ( (type_descriptor "int" primitive_type) ) (field_expression "pBStack_1a8->iSize" identifier -> field_identifier))) )) [ number_literal ])) , (cast_expression "(CellInfo *)apBStack_180" ( (type_descriptor "CellInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if ((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)) {\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }\n        else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }" if (parenthesized_expression "((apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80))" ( (binary_expression "(apBStack_180[0] == (Bitvec *)0x0) && (apBStack_180[1] < 0x80)" (parenthesized_expression "(apBStack_180[0] == (Bitvec *)0x0)" ( (binary_expression "apBStack_180[0] == (Bitvec *)0x0" (subscript_expression "apBStack_180[0]" identifier [ number_literal ]) == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(apBStack_180[1] < 0x80)" ( (binary_expression "apBStack_180[1] < 0x80" (subscript_expression "apBStack_180[1]" identifier [ number_literal ]) < number_literal) ))) )) (compound_statement "{\n          pbVar50[4] = (byte)apBStack_180[1];\n          iVar18 = 1;\n        }" { (expression_statement "pbVar50[4] = (byte)apBStack_180[1];" (assignment_expression "pbVar50[4] = (byte)apBStack_180[1]" (subscript_expression "pbVar50[4]" identifier [ number_literal ]) = (cast_expression "(byte)apBStack_180[1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "apBStack_180[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar18 = 1;" (assignment_expression "iVar18 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }" else (compound_statement "{\n          iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);\n        }" { (expression_statement "iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4);" (assignment_expression "iVar18 = (*(code *)pBStack_1c4)(pbVar50 + 4)" identifier = (call_expression "(*(code *)pBStack_1c4)(pbVar50 + 4)" (parenthesized_expression "(*(code *)pBStack_1c4)" ( (pointer_expression "*(code *)pBStack_1c4" * (cast_expression "(code *)pBStack_1c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar50 + 4)" ( (binary_expression "pbVar50 + 4" identifier + number_literal) )))) ;) }))) (expression_statement "iVar18 = iVar18 + 4;" (assignment_expression "iVar18 = iVar18 + 4" identifier = (binary_expression "iVar18 + 4" identifier + number_literal)) ;) (expression_statement "pbVar39 = pbVar50;" (assignment_expression "pbVar39 = pbVar50" identifier = identifier) ;) (expression_statement "pbVar50 = (byte *)0x0;" (assignment_expression "pbVar50 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))) (expression_statement "pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18);" (assignment_expression "pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + iVar18)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1f0->iSize + iVar18)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1f0->iSize + iVar18)" ( (binary_expression "(int)&pBStack_1f0->iSize + iVar18" (cast_expression "(int)&pBStack_1f0->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f0->iSize" & (field_expression "pBStack_1f0->iSize" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "(*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8);" (call_expression "(*(code *)(iVar31 + 0x3cd0))(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8)" (parenthesized_expression "(*(code *)(iVar31 + 0x3cd0))" ( (pointer_expression "*(code *)(iVar31 + 0x3cd0)" * (cast_expression "(code *)(iVar31 + 0x3cd0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x3cd0)" ( (binary_expression "iVar31 + 0x3cd0" identifier + number_literal) )))) )) (argument_list "(pTo,pBVar51,pbVar39,iVar18,pbVar50,pBVar52->nSet,pBStack_1e8)" ( identifier , identifier , identifier , identifier , identifier , (field_expression "pBVar52->nSet" identifier -> field_identifier) , identifier ))) ;) (expression_statement "pBVar56 = pTo;" (assignment_expression "pBVar56 = pTo" identifier = identifier) ;) (expression_statement "pBVar60 = pBVar8;" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) ;) (expression_statement "pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0);" (assignment_expression "pBStack_1c8 = (Bitvec *)(iVar31 + 0x3cd0)" identifier = (cast_expression "(Bitvec *)(iVar31 + 0x3cd0)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + 0x3cd0)" ( (binary_expression "iVar31 + 0x3cd0" identifier + number_literal) )))) ;) (if_statement "if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;" if (parenthesized_expression "(pBStack_188 != (Bitvec *)0x0)" ( (binary_expression "pBStack_188 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (expression_statement "pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);" (assignment_expression "pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + 1)" ( (binary_expression "(int)&pBVar51->iSize + 1" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet;" (assignment_expression "pBStack_1a8 = (Bitvec *)&pBStack_1a8->nSet" identifier = (cast_expression "(Bitvec *)&pBStack_1a8->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_1a8->nSet" & (field_expression "pBStack_1a8->nSet" identifier -> field_identifier)))) ;) (expression_statement "pBVar53 = (Bitvec *)&pBVar53->nSet;" (assignment_expression "pBVar53 = (Bitvec *)&pBVar53->nSet" identifier = (cast_expression "(Bitvec *)&pBVar53->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar53->nSet" & (field_expression "pBVar53->nSet" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(pBVar51 != pBVar19)" ( (binary_expression "pBVar51 != pBVar19" identifier != identifier) )) ;) })) (expression_statement "pBStack_1c4 = (Bitvec *)apBStack_180;" (assignment_expression "pBStack_1c4 = (Bitvec *)apBStack_180" identifier = (cast_expression "(Bitvec *)apBStack_180" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_1f0 = (Bitvec *)-(int)pBVar54;" (assignment_expression "pBStack_1f0 = (Bitvec *)-(int)pBVar54" identifier = (cast_expression "(Bitvec *)-(int)pBVar54" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pBVar54" - (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "pBStack_1a8 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x543c);" (assignment_expression "pBStack_1a8 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x543c)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x543c)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x543c)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x543c" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbStack_1c0 = *(byte **)(puVar57 + 0xb7620);" (assignment_expression "pbStack_1c0 = *(byte **)(puVar57 + 0xb7620)" identifier = (pointer_expression "*(byte **)(puVar57 + 0xb7620)" * (cast_expression "(byte **)(puVar57 + 0xb7620)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pBStack_1e8 = (Bitvec *)((int)&pBStack_1f0->iSize + 2);" (assignment_expression "pBStack_1e8 = (Bitvec *)((int)&pBStack_1f0->iSize + 2)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1f0->iSize + 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1f0->iSize + 2)" ( (binary_expression "(int)&pBStack_1f0->iSize + 2" (cast_expression "(int)&pBStack_1f0->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f0->iSize" & (field_expression "pBStack_1f0->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x5114);" (assignment_expression "pBVar19 = (Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x5114)" identifier = (cast_expression "(Bitvec *)(*(int *)(puVar57 + 0xb7620) + -0x5114)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x5114)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x5114" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar31 = *(int *)(puVar57 + 0xb7620);" (assignment_expression "iVar31 = *(int *)(puVar57 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pBVar52 = pBStack_1c4;" (assignment_expression "pBVar52 = pBStack_1c4" identifier = identifier) ;) (do_statement "do {\n    pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1);\n    pBVar51 = pBStack_1f0;\n    if ((int)pBStack_1f0 < 0) {\n      pBVar51 = (Bitvec *)-(int)pBStack_1f0;\n    }\n    pBStack_1c8 = pBVar54;\n    if (abStack_8c[(int)pBVar51] == 0) {\n      if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }\n    }\n    else {\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1);\n  } while( true );" do (compound_statement "{\n    pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1);\n    pBVar51 = pBStack_1f0;\n    if ((int)pBStack_1f0 < 0) {\n      pBVar51 = (Bitvec *)-(int)pBStack_1f0;\n    }\n    pBStack_1c8 = pBVar54;\n    if (abStack_8c[(int)pBVar51] == 0) {\n      if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }\n    }\n    else {\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }\n    pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1);\n  }" { (expression_statement "pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1);" (assignment_expression "pBStack_1f0 = (Bitvec *)((int)&pBStack_1f0->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1f0->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1f0->iSize + 1)" ( (binary_expression "(int)&pBStack_1f0->iSize + 1" (cast_expression "(int)&pBStack_1f0->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1f0->iSize" & (field_expression "pBStack_1f0->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar51 = pBStack_1f0;" (assignment_expression "pBVar51 = pBStack_1f0" identifier = identifier) ;) (if_statement "if ((int)pBStack_1f0 < 0) {\n      pBVar51 = (Bitvec *)-(int)pBStack_1f0;\n    }" if (parenthesized_expression "((int)pBStack_1f0 < 0)" ( (binary_expression "(int)pBStack_1f0 < 0" (cast_expression "(int)pBStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pBVar51 = (Bitvec *)-(int)pBStack_1f0;\n    }" { (expression_statement "pBVar51 = (Bitvec *)-(int)pBStack_1f0;" (assignment_expression "pBVar51 = (Bitvec *)-(int)pBStack_1f0" identifier = (cast_expression "(Bitvec *)-(int)pBStack_1f0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pBStack_1f0" - (cast_expression "(int)pBStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "pBStack_1c8 = pBVar54;" (assignment_expression "pBStack_1c8 = pBVar54" identifier = identifier) ;) (if_statement "if (abStack_8c[(int)pBVar51] == 0) {\n      if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }\n    }\n    else {\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }" if (parenthesized_expression "(abStack_8c[(int)pBVar51] == 0)" ( (binary_expression "abStack_8c[(int)pBVar51] == 0" (subscript_expression "abStack_8c[(int)pBVar51]" identifier [ (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) ]) == number_literal) )) (compound_statement "{\n      if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n      if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }\n    }" { (if_statement "if (-1 < (int)pBStack_1f0) {\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }" if (parenthesized_expression "(-1 < (int)pBStack_1f0)" ( (binary_expression "-1 < (int)pBStack_1f0" number_literal < (cast_expression "(int)pBStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;\n        pBVar55 = (Bitvec *)0x0;\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);\n        pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);\n        pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];\n        pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);\n        iVar18 = 0;\n        pBVar47 = (Bitvec *)abStack_130._0_4_;\n        pBVar52 = (Bitvec *)apsStack_150[3];\n        pBVar60 = (Bitvec *)abStack_130._0_4_;\n        goto LAB_000a5774;\n      }" { (if_statement "if (pBStack_1f0 != (Bitvec *)0x0) goto LAB_000a569c;" if (parenthesized_expression "(pBStack_1f0 != (Bitvec *)0x0)" ( (binary_expression "pBStack_1f0 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a569c;" goto statement_identifier ;)) (expression_statement "pBVar55 = (Bitvec *)0x0;" (assignment_expression "pBVar55 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10);" (assignment_expression "pbVar39 = (byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10)" identifier = (binary_expression "(byte *)(uint)*(ushort *)((int)&apsStack_150[3]->pNext + 10)" (cast_expression "(byte *)(uint)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)((int)&apsStack_150[3]->pNext + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[3]->pNext + 10)" ( (binary_expression "(int)&apsStack_150[3]->pNext + 10" (cast_expression "(int)&apsStack_150[3]->pNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2);" (assignment_expression "pBVar53 = (Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2)" identifier = (cast_expression "(Bitvec *)\n                  (((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2)" ( (binary_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd] +\n                  abStack_130._0_4_ * 2" (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash[0xd]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aHash" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ]) + (binary_expression "abStack_130._0_4_ * 2" (field_expression "abStack_130._0_4_" identifier . field_identifier) * number_literal)) )))) ;) (expression_statement "piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1);" (assignment_expression "piStack_1d8 = (int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1)" identifier = (binary_expression "(int *)(uint)*(byte *)((int)&apsStack_150[3]->mxPathname + 1)" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)&apsStack_150[3]->mxPathname + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[3]->mxPathname + 1)" ( (binary_expression "(int)&apsStack_150[3]->mxPathname + 1" (cast_expression "(int)&apsStack_150[3]->mxPathname" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[3]->mxPathname" & (field_expression "apsStack_150[3]->mxPathname" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb];" (assignment_expression "pBVar56 = ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb]" identifier = (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub[0xb]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->apSub" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ])) ;) (expression_statement "pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]);" (assignment_expression "pBVar45 = (Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0])" identifier = (cast_expression "(Bitvec *)\n                  (pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0])" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0])" ( (binary_expression "pbVar39 +\n                  ((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]" identifier + (subscript_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap[0]" (field_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)->aBitmap" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext)" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)&apsStack_150[3]->pNext" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) )) -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "pBVar47 = (Bitvec *)abStack_130._0_4_;" (assignment_expression "pBVar47 = (Bitvec *)abStack_130._0_4_" identifier = (cast_expression "(Bitvec *)abStack_130._0_4_" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "abStack_130._0_4_" identifier . field_identifier))) ;) (expression_statement "pBVar52 = (Bitvec *)apsStack_150[3];" (assignment_expression "pBVar52 = (Bitvec *)apsStack_150[3]" identifier = (cast_expression "(Bitvec *)apsStack_150[3]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "apsStack_150[3]" identifier [ number_literal ]))) ;) (expression_statement "pBVar60 = (Bitvec *)abStack_130._0_4_;" (assignment_expression "pBVar60 = (Bitvec *)abStack_130._0_4_" identifier = (cast_expression "(Bitvec *)abStack_130._0_4_" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "abStack_130._0_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_000a5774;" goto statement_identifier ;) })) (expression_statement "puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);" (assignment_expression "puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499)" identifier = (cast_expression "(undefined1 *)((int)&pBVar51[-1].u + 499)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[-1].u + 499)" ( (binary_expression "(int)&pBVar51[-1].u + 499" (cast_expression "(int)&pBVar51[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[-1].u" & (field_expression "pBVar51[-1].u" (subscript_expression "pBVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (if_statement "if (*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)) {\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }" if (parenthesized_expression "(*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4))" ( (binary_expression "*(int *)(abStack_130 + (int)puVar35 * 4) <= *(int *)(abStack_11c + (int)puVar35 * 4)" (pointer_expression "*(int *)(abStack_130 + (int)puVar35 * 4)" * (cast_expression "(int *)(abStack_130 + (int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(abStack_130 + (int)puVar35 * 4)" ( (binary_expression "abStack_130 + (int)puVar35 * 4" identifier + (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) <= (pointer_expression "*(int *)(abStack_11c + (int)puVar35 * 4)" * (cast_expression "(int *)(abStack_11c + (int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(abStack_11c + (int)puVar35 * 4)" ( (binary_expression "abStack_11c + (int)puVar35 * 4" identifier + (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) )) (compound_statement "{\nLAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);\n        pBVar55 = (Bitvec *)auStack_cc[0];\n        if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }\n        pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];\n        pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);\n        iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);\n        pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);\n        pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);\n        piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);\n        pBVar56 = (pBVar52->u).apSub[0xb];\n        pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);\n        pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));\n        if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }\n        pPVar21 = apPStack_108[(int)pBVar51];\n        abStack_8c[(int)pBVar51] = 1;\n        *(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;\n        goto FUN_000a5944;\n      }" { (labeled_statement "LAB_000a569c:\n        puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);" statement_identifier : (expression_statement "puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499);" (assignment_expression "puVar35 = (undefined1 *)((int)&pBVar51[-1].u + 499)" identifier = (cast_expression "(undefined1 *)((int)&pBVar51[-1].u + 499)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51[-1].u + 499)" ( (binary_expression "(int)&pBVar51[-1].u + 499" (cast_expression "(int)&pBVar51[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51[-1].u" & (field_expression "pBVar51[-1].u" (subscript_expression "pBVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;)) (expression_statement "pBVar55 = (Bitvec *)auStack_cc[0];" (assignment_expression "pBVar55 = (Bitvec *)auStack_cc[0]" identifier = (cast_expression "(Bitvec *)auStack_cc[0]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[0]" identifier [ number_literal ]))) ;) (if_statement "if ((int)pBVar51 < (int)pBStack_1bc) {\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }" if (parenthesized_expression "((int)pBVar51 < (int)pBStack_1bc)" ( (binary_expression "(int)pBVar51 < (int)pBStack_1bc" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));\n        }" { (expression_statement "pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4));" (assignment_expression "pBVar55 = (Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4))" identifier = (cast_expression "(Bitvec *)\n                    ((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4))" ( (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_11c + (int)puVar35 * 4)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) + (pointer_expression "*(int *)(abStack_11c + (int)puVar35 * 4)" * (cast_expression "(int *)(abStack_11c + (int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(abStack_11c + (int)puVar35 * 4)" ( (binary_expression "abStack_11c + (int)puVar35 * 4" identifier + (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) )))) ;) })) (expression_statement "pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499];" (assignment_expression "pBVar52 = (Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499]" identifier = (cast_expression "(Bitvec *)aiStack_140[(int)pBVar51[-1].u.aHash + 499]" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "aiStack_140[(int)pBVar51[-1].u.aHash + 499]" identifier [ (binary_expression "(int)pBVar51[-1].u.aHash + 499" (cast_expression "(int)pBVar51[-1].u.aHash" ( (type_descriptor "int" primitive_type) ) (field_expression "pBVar51[-1].u.aHash" (field_expression "pBVar51[-1].u" (subscript_expression "pBVar51[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) + number_literal) ]))) ;) (expression_statement "pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4);" (assignment_expression "pBVar60 = *(Bitvec **)(abStack_130 + (int)pBVar51 * 4)" identifier = (pointer_expression "*(Bitvec **)(abStack_130 + (int)pBVar51 * 4)" * (cast_expression "(Bitvec **)(abStack_130 + (int)pBVar51 * 4)" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(abStack_130 + (int)pBVar51 * 4)" ( (binary_expression "abStack_130 + (int)pBVar51 * 4" identifier + (binary_expression "(int)pBVar51 * 4" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4);" (assignment_expression "iVar18 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4)" identifier = (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) + *(int *)(abStack_130 + (int)puVar35 * 4)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) + (pointer_expression "*(int *)(abStack_130 + (int)puVar35 * 4)" * (cast_expression "(int *)(abStack_130 + (int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(abStack_130 + (int)puVar35 * 4)" ( (binary_expression "abStack_130 + (int)puVar35 * 4" identifier + (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))))) ;) (expression_statement "pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10);" (assignment_expression "pbVar39 = (byte *)(uint)*(ushort *)((int)&pBVar52->u + 10)" identifier = (binary_expression "(byte *)(uint)*(ushort *)((int)&pBVar52->u + 10)" (cast_expression "(byte *)(uint)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)((int)&pBVar52->u + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->u + 10)" ( (binary_expression "(int)&pBVar52->u + 10" (cast_expression "(int)&pBVar52->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->u" & (field_expression "pBVar52->u" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBVar47 = (Bitvec *)((int)pBVar60 - iVar18);" (assignment_expression "pBVar47 = (Bitvec *)((int)pBVar60 - iVar18)" identifier = (cast_expression "(Bitvec *)((int)pBVar60 - iVar18)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar60 - iVar18)" ( (binary_expression "(int)pBVar60 - iVar18" (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1);" (assignment_expression "piStack_1d8 = (int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1)" identifier = (binary_expression "(int *)(uint)*(byte *)((int)&pBVar52->iDivisor + 1)" (cast_expression "(int *)(uint)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)&pBVar52->iDivisor + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->iDivisor + 1)" ( (binary_expression "(int)&pBVar52->iDivisor + 1" (cast_expression "(int)&pBVar52->iDivisor" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->iDivisor" & (field_expression "pBVar52->iDivisor" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pBVar56 = (pBVar52->u).apSub[0xb];" (assignment_expression "pBVar56 = (pBVar52->u).apSub[0xb]" identifier = (subscript_expression "(pBVar52->u).apSub[0xb]" (field_expression "(pBVar52->u).apSub" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2);" (assignment_expression "pBVar53 = (Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2)" identifier = (cast_expression "(Bitvec *)((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pBVar52->u).aHash[0xd] + (int)pBVar47 * 2)" ( (binary_expression "(pBVar52->u).aHash[0xd] + (int)pBVar47 * 2" (subscript_expression "(pBVar52->u).aHash[0xd]" (field_expression "(pBVar52->u).aHash" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + (binary_expression "(int)pBVar47 * 2" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]));" (assignment_expression "pBVar45 = (Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]))" identifier = (cast_expression "(Bitvec *)(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]))" ( (binary_expression "pbVar39 + (int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0])" identifier + (cast_expression "(int)((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0])" ( (binary_expression "(int)&pBVar55->iSize + (uint)(pBVar52->u).aBitmap[0]" (cast_expression "(int)&pBVar55->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar55->iSize" & (field_expression "pBVar55->iSize" identifier -> field_identifier))) + (subscript_expression "(uint)(pBVar52->u).aBitmap[0]" (field_expression "(uint)(pBVar52->u).aBitmap" (call_expression "(uint)(pBVar52->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ])) )))) )))) ;) (if_statement "if ((int)pBVar55 < iVar18) {\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }" if (parenthesized_expression "((int)pBVar55 < iVar18)" ( (binary_expression "(int)pBVar55 < iVar18" (cast_expression "(int)pBVar55" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n          iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);\n          pBStack_1b8 = pBVar45;\n          if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }\n          pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;\n        }" { (expression_statement "iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3);" (assignment_expression "iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3)" identifier = (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                             (pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" ( (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" * (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + -0x5e24)" ( (binary_expression "pbStack_1c0 + -0x5e24" identifier + number_literal) )))) )) (argument_list "(pBVar52,pBVar55,iVar18 - (int)pBVar55,auStack_cc + 2,auStack_cc + 3)" ( identifier , identifier , (binary_expression "iVar18 - (int)pBVar55" identifier - (cast_expression "(int)pBVar55" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "auStack_cc + 2" identifier + number_literal) , (binary_expression "auStack_cc + 3" identifier + number_literal) )))) ;) (expression_statement "pBStack_1b8 = pBVar45;" (assignment_expression "pBStack_1b8 = pBVar45" identifier = identifier) ;) (if_statement "if (iVar20 <= (int)pbVar39) {\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }" if (parenthesized_expression "(iVar20 <= (int)pbVar39)" ( (binary_expression "iVar20 <= (int)pbVar39" identifier <= (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar40 = (int)pbVar39 << 1;\n            pbVar39 = pbVar39 + -iVar20;\n            (**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);\n            goto LAB_000a5774;\n          }" { (expression_statement "iVar40 = (int)pbVar39 << 1;" (assignment_expression "iVar40 = (int)pbVar39 << 1" identifier = (binary_expression "(int)pbVar39 << 1" (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pbVar39 = pbVar39 + -iVar20;" (assignment_expression "pbVar39 = pbVar39 + -iVar20" identifier = (binary_expression "pbVar39 + -iVar20" identifier + (unary_expression "-iVar20" - identifier))) ;) (expression_statement "(**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40);" (call_expression "(**(code **)(puVar57 + 0xb791c))\n                      ((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40)" (parenthesized_expression "(**(code **)(puVar57 + 0xb791c))" ( (pointer_expression "**(code **)(puVar57 + 0xb791c)" * (pointer_expression "*(code **)(puVar57 + 0xb791c)" * (cast_expression "(code **)(puVar57 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb791c)" ( (binary_expression "puVar57 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "((pBVar52->u).apSub[0xd],(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2,\n                       iVar40)" ( (subscript_expression "(pBVar52->u).apSub[0xd]" (field_expression "(pBVar52->u).apSub" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) , (binary_expression "(int)&(pBVar52->u).apSub[0xd]->iSize + iVar20 * 2" (cast_expression "(int)&(pBVar52->u).apSub[0xd]->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pBVar52->u).apSub[0xd]->iSize" & (field_expression "(pBVar52->u).apSub[0xd]->iSize" (subscript_expression "(pBVar52->u).apSub[0xd]" (field_expression "(pBVar52->u).apSub" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) -> field_identifier))) + (binary_expression "iVar20 * 2" identifier * number_literal)) , identifier ))) ;) (goto_statement "goto LAB_000a5774;" goto statement_identifier ;) })) (expression_statement "pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9);" (assignment_expression "pBStack_188 = (Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9)" identifier = (cast_expression "(Bitvec *)(*(code *)(iVar31 + -0x75c0))(0x111f9)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar31 + -0x75c0))(0x111f9)" (parenthesized_expression "(*(code *)(iVar31 + -0x75c0))" ( (pointer_expression "*(code *)(iVar31 + -0x75c0)" * (cast_expression "(code *)(iVar31 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar31 + -0x75c0)" ( (binary_expression "iVar31 + -0x75c0" identifier + number_literal) )))) )) (argument_list "(0x111f9)" ( number_literal ))))) ;) (labeled_statement "LAB_000a5b00:\n          if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;" statement_identifier : (if_statement "if (pBStack_188 != (Bitvec *)0x0) goto LAB_000a443c;" if (parenthesized_expression "(pBStack_188 != (Bitvec *)0x0)" ( (binary_expression "pBStack_188 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }" else (compound_statement "{\nLAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }\n          pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));\n          pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));\n          apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);\n          if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }\n          if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }\n          if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }\n          iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pBVar52->u + 10) = (short)pBVar47;\n          (pBVar52->u).aBitmap[0] = '\0';\n          *(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;\n          *(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);\n          *pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);\n          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;\n          pBStack_188 = (Bitvec *)0x0;\n        }" { (labeled_statement "LAB_000a5774:\n          if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }" statement_identifier : (if_statement "if ((int)pBVar60 < (int)pBVar45) {\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }" if (parenthesized_expression "((int)pBVar60 < (int)pBVar45)" ( (binary_expression "(int)pBVar60 < (int)pBVar45" (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);\n            pbVar39 = pbVar39 + -iVar20;\n          }" { (expression_statement "iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3);" (assignment_expression "iVar20 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3)" identifier = (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                               (pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" ( (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" * (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + -0x5e24)" ( (binary_expression "pbStack_1c0 + -0x5e24" identifier + number_literal) )))) )) (argument_list "(pBVar52,pBVar60,(int)pBVar45 - (int)pBVar60,auStack_cc + 2,\n                                auStack_cc + 3)" ( identifier , identifier , (binary_expression "(int)pBVar45 - (int)pBVar60" (cast_expression "(int)pBVar45" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pBVar60" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "auStack_cc + 2" identifier + number_literal) , (binary_expression "auStack_cc + 3" identifier + number_literal) )))) ;) (expression_statement "pbVar39 = pbVar39 + -iVar20;" (assignment_expression "pbVar39 = pbVar39 + -iVar20" identifier = (binary_expression "pbVar39 + -iVar20" identifier + (unary_expression "-iVar20" - identifier))) ;) }))) (expression_statement "pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1));" (assignment_expression "pbVar50 = (byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1))" identifier = (cast_expression "(byte *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1))" ( (binary_expression "(int)piStack_1d8 + (int)((int)&pBVar56->nSet + 1)" (cast_expression "(int)piStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)((int)&pBVar56->nSet + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBVar56->nSet + 1)" ( (binary_expression "(int)&pBVar56->nSet + 1" (cast_expression "(int)&pBVar56->nSet" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->nSet" & (field_expression "pBVar56->nSet" identifier -> field_identifier))) + number_literal) )))) )))) ;) (expression_statement "pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2));" (assignment_expression "pBStack_1b0 = (Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2))" identifier = (cast_expression "(Bitvec *)((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2))" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2))" ( (binary_expression "(int)piStack_1d8 + (int)((int)&pBVar56->nSet + 2)" (cast_expression "(int)piStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)((int)&pBVar56->nSet + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBVar56->nSet + 2)" ( (binary_expression "(int)&pBVar56->nSet + 2" (cast_expression "(int)&pBVar56->nSet" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->nSet" & (field_expression "pBVar56->nSet" identifier -> field_identifier))) + number_literal) )))) )))) ;) (expression_statement "apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);" (assignment_expression "apBStack_180[0] =\n               (Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1)" (subscript_expression "apBStack_180[0]" identifier [ number_literal ]) = (cast_expression "(Bitvec *)\n               ((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1)" ( (binary_expression "(int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1" (binary_expression "(int)&pBVar56->iSize +\n               (CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff)" (cast_expression "(int)&pBVar56->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier))) + (parenthesized_expression "(CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff)" ( (binary_expression "CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1 & 0xffff" (binary_expression "CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize) - 1" (call_expression "CONCAT11(*pbVar50,*(byte *)&pBStack_1b0->iSize)" identifier (argument_list "(*pbVar50,*(byte *)&pBStack_1b0->iSize)" ( (pointer_expression "*pbVar50" * identifier) , (pointer_expression "*(byte *)&pBStack_1b0->iSize" * (cast_expression "(byte *)&pBStack_1b0->iSize" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_1b0->iSize" & (field_expression "pBStack_1b0->iSize" identifier -> field_identifier)))) ))) - number_literal) & number_literal) ))) + number_literal) )))) ;) (if_statement "if (apBStack_180[0] < pBVar53) {\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }" if (parenthesized_expression "(apBStack_180[0] < pBVar53)" ( (binary_expression "apBStack_180[0] < pBVar53" (subscript_expression "apBStack_180[0]" identifier [ number_literal ]) < identifier) )) (compound_statement "{\nLAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }\n            pBVar60 = (Bitvec *)auStack_cc;\n            pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);\n            goto LAB_000a5b00;\n          }" { (labeled_statement "LAB_000a5a94:\n            if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }" statement_identifier : (if_statement "if (0 < (int)pBVar47) {\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }" if (parenthesized_expression "(0 < (int)pBVar47)" ( (binary_expression "0 < (int)pBVar47" number_literal < (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);\n              pBVar60 = pBVar47;\n              do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);\n            }" { (labeled_statement "LAB_000a5a9c:\n              pBVar53 = (Bitvec *)(iVar18 << 1);" statement_identifier : (expression_statement "pBVar53 = (Bitvec *)(iVar18 << 1);" (assignment_expression "pBVar53 = (Bitvec *)(iVar18 << 1)" identifier = (cast_expression "(Bitvec *)(iVar18 << 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 << 1)" ( (binary_expression "iVar18 << 1" identifier << number_literal) )))) ;)) (expression_statement "pBVar60 = pBVar47;" (assignment_expression "pBVar60 = pBVar47" identifier = identifier) ;) (do_statement "do {\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              } while (pBVar60 != (Bitvec *)0x0);" do (compound_statement "{\n                pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);\n                if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }\n                pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);\n                pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);\n              }" { (expression_statement "pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]);" (assignment_expression "pbVar39 = (byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3])" identifier = (cast_expression "(byte *)((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3])" ( (binary_expression "(int)&pBVar53->iSize + (int)(u32 *)auStack_cc[3]" (cast_expression "(int)&pBVar53->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier))) + (cast_expression "(int)(u32 *)auStack_cc[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[3]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[3]" identifier [ number_literal ])))) )))) ;) (if_statement "if (*(short *)pbVar39 == 0) {\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }" if (parenthesized_expression "(*(short *)pbVar39 == 0)" ( (binary_expression "*(short *)pbVar39 == 0" (pointer_expression "*(short *)pbVar39" * (cast_expression "(short *)pbVar39" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n                  sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;\n                  *(short *)pbVar39 = sVar23;\n                }" { (expression_statement "sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))\n                  ;" (assignment_expression "sVar23 = (*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))" identifier = (call_expression "(*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])\n                                     (auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))" (parenthesized_expression "(*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10])" ( (pointer_expression "*(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10]" * (cast_expression "(code *)((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash[0x10]" (field_expression "((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))->\n                                     aHash" (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc))" ( (cast_expression "(anon_union_500_3_7c964c52_for_u *)(auStack_cc[1] + 0xc)" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc[1] + 0xc)" ( (binary_expression "auStack_cc[1] + 0xc" (subscript_expression "auStack_cc[1]" identifier [ number_literal ]) + number_literal) ))) )) -> field_identifier) [ number_literal ]))) )) (argument_list "(auStack_cc[1],\n                                      *(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2))" ( (subscript_expression "auStack_cc[1]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2)" * (cast_expression "(undefined4 *)((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2)" ( (binary_expression "(int)(u32 *)auStack_cc[2] + (int)pBVar53 * 2" (cast_expression "(int)(u32 *)auStack_cc[2]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(u32 *)auStack_cc[2]" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "auStack_cc[2]" identifier [ number_literal ]))) + (binary_expression "(int)pBVar53 * 2" (cast_expression "(int)pBVar53" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) )))) ;) (expression_statement "*(short *)pbVar39 = sVar23;" (assignment_expression "*(short *)pbVar39 = sVar23" (pointer_expression "*(short *)pbVar39" * (cast_expression "(short *)pbVar39" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) (expression_statement "pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499);" (assignment_expression "pBVar60 = (Bitvec *)((int)&pBVar60[-1].u + 499)" identifier = (cast_expression "(Bitvec *)((int)&pBVar60[-1].u + 499)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar60[-1].u + 499)" ( (binary_expression "(int)&pBVar60[-1].u + 499" (cast_expression "(int)&pBVar60[-1].u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar60[-1].u" & (field_expression "pBVar60[-1].u" (subscript_expression "pBVar60[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2);" (assignment_expression "pBVar53 = (Bitvec *)((int)&pBVar53->iSize + 2)" identifier = (cast_expression "(Bitvec *)((int)&pBVar53->iSize + 2)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar53->iSize + 2)" ( (binary_expression "(int)&pBVar53->iSize + 2" (cast_expression "(int)&pBVar53->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar53->iSize" & (field_expression "pBVar53->iSize" identifier -> field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "(pBVar60 != (Bitvec *)0x0)" ( (binary_expression "pBVar60 != (Bitvec *)0x0" identifier != (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "pBVar60 = (Bitvec *)auStack_cc;" (assignment_expression "pBVar60 = (Bitvec *)auStack_cc" identifier = (cast_expression "(Bitvec *)auStack_cc" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52);" (assignment_expression "pBStack_188 = (Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52)" identifier = (cast_expression "(Bitvec *)(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pBStack_1a8)(pBVar60,iVar18,pBVar47,pBVar52)" (parenthesized_expression "(*(code *)pBStack_1a8)" ( (pointer_expression "*(code *)pBStack_1a8" * (cast_expression "(code *)pBStack_1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBVar60,iVar18,pBVar47,pBVar52)" ( identifier , identifier , identifier , identifier ))))) ;) (goto_statement "goto LAB_000a5b00;" goto statement_identifier ;) })) (if_statement "if (iVar18 < (int)pBVar55) {\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }" if (parenthesized_expression "(iVar18 < (int)pBVar55)" ( (binary_expression "iVar18 < (int)pBVar55" identifier < (cast_expression "(int)pBVar55" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pBVar60 = (pBVar52->u).apSub[0xd];\n            pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);\n            if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }\n            (**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);\n            iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);\n            if (iVar20 != 0) goto LAB_000a5a94;\n            pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);\n          }" { (expression_statement "pBVar60 = (pBVar52->u).apSub[0xd];" (assignment_expression "pBVar60 = (pBVar52->u).apSub[0xd]" identifier = (subscript_expression "(pBVar52->u).apSub[0xd]" (field_expression "(pBVar52->u).apSub" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (expression_statement "pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18);" (assignment_expression "pBStack_1b8 = (Bitvec *)((int)pBVar55 - iVar18)" identifier = (cast_expression "(Bitvec *)((int)pBVar55 - iVar18)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pBVar55 - iVar18)" ( (binary_expression "(int)pBVar55 - iVar18" (cast_expression "(int)pBVar55" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (if_statement "if ((int)pBVar47 < (int)pBVar55 - iVar18) {\n              pBStack_1b8 = pBVar47;\n            }" if (parenthesized_expression "((int)pBVar47 < (int)pBVar55 - iVar18)" ( (binary_expression "(int)pBVar47 < (int)pBVar55 - iVar18" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)pBVar55 - iVar18" (cast_expression "(int)pBVar55" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\n              pBStack_1b8 = pBVar47;\n            }" { (expression_statement "pBStack_1b8 = pBVar47;" (assignment_expression "pBStack_1b8 = pBVar47" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1);" (call_expression "(**(code **)(puVar57 + 0xb791c))\n                      ((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1)" (parenthesized_expression "(**(code **)(puVar57 + 0xb791c))" ( (pointer_expression "**(code **)(puVar57 + 0xb791c)" * (pointer_expression "*(code **)(puVar57 + 0xb791c)" * (cast_expression "(code **)(puVar57 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb791c)" ( (binary_expression "puVar57 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "((int)&pBVar60->iSize + (int)pBStack_1b8 * 2,pBVar60,(int)pbVar39 << 1)" ( (binary_expression "(int)&pBVar60->iSize + (int)pBStack_1b8 * 2" (cast_expression "(int)&pBVar60->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar60->iSize" & (field_expression "pBVar60->iSize" identifier -> field_identifier))) + (binary_expression "(int)pBStack_1b8 * 2" (cast_expression "(int)pBStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , identifier , (binary_expression "(int)pbVar39 << 1" (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) (expression_statement "iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc);" (assignment_expression "iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc)" identifier = (call_expression "(*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc)" (parenthesized_expression "(*(code *)pBVar19)" ( (pointer_expression "*(code *)pBVar19" * (cast_expression "(code *)pBVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBVar52,pBVar53,pBStack_1c4,pBVar60,iVar18,pBStack_1b8,\n                                        auStack_cc)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar20 != 0) goto LAB_000a5a94;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a94;" goto statement_identifier ;)) (expression_statement "pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39);" (assignment_expression "pbVar39 = (byte *)((int)&pBStack_1b8->iSize + (int)pbVar39)" identifier = (cast_expression "(byte *)((int)&pBStack_1b8->iSize + (int)pbVar39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1b8->iSize + (int)pbVar39)" ( (binary_expression "(int)&pBStack_1b8->iSize + (int)pbVar39" (cast_expression "(int)&pBStack_1b8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1b8->iSize" & (field_expression "pBStack_1b8->iSize" identifier -> field_identifier))) + (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (if_statement "if ((pBVar52->u).aBitmap[0] != 0) {\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }" if (parenthesized_expression "((pBVar52->u).aBitmap[0] != 0)" ( (binary_expression "(pBVar52->u).aBitmap[0] != 0" (subscript_expression "(pBVar52->u).aBitmap[0]" (field_expression "(pBVar52->u).aBitmap" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) != number_literal) )) (compound_statement "{\n            puVar46 = (ushort *)((int)&pBVar52->u + 0xe);\n            iVar20 = 0;\n            do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);\n          }" { (expression_statement "puVar46 = (ushort *)((int)&pBVar52->u + 0xe);" (assignment_expression "puVar46 = (ushort *)((int)&pBVar52->u + 0xe)" identifier = (cast_expression "(ushort *)((int)&pBVar52->u + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->u + 0xe)" ( (binary_expression "(int)&pBVar52->u + 0xe" (cast_expression "(int)&pBVar52->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->u" & (field_expression "pBVar52->u" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (do_statement "do {\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            } while (iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]);" do (compound_statement "{\n              puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);\n              iVar40 = (int)puVar35 - iVar18;\n              pBStack_1b8 = pBVar51;\n              if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }\n              iVar20 = iVar20 + 1;\n              puVar46 = puVar46 + 1;\n            }" { (expression_statement "puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46);" (assignment_expression "puVar35 = (undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46)" identifier = (cast_expression "(undefined1 *)((int)&pBVar55->iSize + (uint)*puVar46)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar55->iSize + (uint)*puVar46)" ( (binary_expression "(int)&pBVar55->iSize + (uint)*puVar46" (cast_expression "(int)&pBVar55->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar55->iSize" & (field_expression "pBVar55->iSize" identifier -> field_identifier))) + (binary_expression "(uint)*puVar46" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )))) ;) (expression_statement "iVar40 = (int)puVar35 - iVar18;" (assignment_expression "iVar40 = (int)puVar35 - iVar18" identifier = (binary_expression "(int)puVar35 - iVar18" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "pBStack_1b8 = pBVar51;" (assignment_expression "pBStack_1b8 = pBVar51" identifier = identifier) ;) (if_statement "if ((-1 < iVar40) && (iVar40 < (int)pBVar47)) {\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }" if (parenthesized_expression "((-1 < iVar40) && (iVar40 < (int)pBVar47))" ( (binary_expression "(-1 < iVar40) && (iVar40 < (int)pBVar47)" (parenthesized_expression "(-1 < iVar40)" ( (binary_expression "-1 < iVar40" number_literal < identifier) )) && (parenthesized_expression "(iVar40 < (int)pBVar47)" ( (binary_expression "iVar40 < (int)pBVar47" identifier < (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;\n                (**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);\n                iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;\n                if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }\n                goto LAB_000a5a9c;\n              }" { (expression_statement "iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2;" (assignment_expression "iVar20 = (int)(pBVar52->u).apSub[0xd] + iVar40 * 2" identifier = (binary_expression "(int)(pBVar52->u).apSub[0xd] + iVar40 * 2" (cast_expression "(int)(pBVar52->u).apSub[0xd]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(pBVar52->u).apSub[0xd]" (field_expression "(pBVar52->u).apSub" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) + (binary_expression "iVar40 * 2" identifier * number_literal))) ;) (expression_statement "(**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2);" (call_expression "(**(code **)(puVar57 + 0xb791c))(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2)" (parenthesized_expression "(**(code **)(puVar57 + 0xb791c))" ( (pointer_expression "**(code **)(puVar57 + 0xb791c)" * (pointer_expression "*(code **)(puVar57 + 0xb791c)" * (cast_expression "(code **)(puVar57 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar57 + 0xb791c)" ( (binary_expression "puVar57 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "(iVar20 + 2,iVar20,((int)pbVar39 - iVar40) * 2)" ( (binary_expression "iVar20 + 2" identifier + number_literal) , identifier , (binary_expression "((int)pbVar39 - iVar40) * 2" (parenthesized_expression "((int)pbVar39 - iVar40)" ( (binary_expression "(int)pbVar39 - iVar40" (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal) ))) ;) (expression_statement "iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)\n                ;" (assignment_expression "iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)" identifier = (call_expression "(*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)" (parenthesized_expression "(*(code *)pBVar19)" ( (pointer_expression "*(code *)pBVar19" * (cast_expression "(code *)pBVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBVar52,pBVar53,pBStack_1c4,iVar20,puVar35,1,auStack_cc)" ( identifier , identifier , identifier , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar20 == 0) {\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);\n                  return;\n                }" { (expression_statement "FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0]);" (call_expression "FUN_000a57f4((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0])" identifier (argument_list "((pBVar52->u).aHash[0xd],(pBVar52->u).aBitmap[0])" ( (subscript_expression "(pBVar52->u).aHash[0xd]" (field_expression "(pBVar52->u).aHash" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) , (subscript_expression "(pBVar52->u).aBitmap[0]" (field_expression "(pBVar52->u).aBitmap" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_000a5a9c;" goto statement_identifier ;) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "puVar46 = puVar46 + 1;" (assignment_expression "puVar46 = puVar46 + 1" identifier = (binary_expression "puVar46 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < (int)(uint)(pBVar52->u).aBitmap[0])" ( (binary_expression "iVar20 < (int)(uint)(pBVar52->u).aBitmap[0]" identifier < (cast_expression "(int)(uint)(pBVar52->u).aBitmap[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "(uint)(pBVar52->u).aBitmap[0]" (field_expression "(uint)(pBVar52->u).aBitmap" (call_expression "(uint)(pBVar52->u)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) ))) . field_identifier) [ number_literal ]))) )) ;) })) (expression_statement "iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc);" (assignment_expression "iVar20 = (*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc)" identifier = (call_expression "(*(code *)pBVar19)(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc)" (parenthesized_expression "(*(code *)pBVar19)" ( (pointer_expression "*(code *)pBVar19" * (cast_expression "(code *)pBVar19" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBVar52,pBVar53,pBStack_1c4,\n                                      (int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2,\n                                      pbVar39 + iVar18,(int)pBVar47 - (int)pbVar39,auStack_cc)" ( identifier , identifier , identifier , (binary_expression "(int)&(pBVar52->u).apSub[0xd]->iSize + (int)pbVar39 * 2" (cast_expression "(int)&(pBVar52->u).apSub[0xd]->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pBVar52->u).apSub[0xd]->iSize" & (field_expression "(pBVar52->u).apSub[0xd]->iSize" (subscript_expression "(pBVar52->u).apSub[0xd]" (field_expression "(pBVar52->u).apSub" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) -> field_identifier))) + (binary_expression "(int)pbVar39 * 2" (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , (binary_expression "pbVar39 + iVar18" identifier + identifier) , (binary_expression "(int)pBVar47 - (int)pbVar39" (cast_expression "(int)pBVar47" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar39" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (if_statement "if (iVar20 != 0) goto LAB_000a5a94;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a94;" goto statement_identifier ;)) (expression_statement "*(short *)((int)&pBVar52->u + 10) = (short)pBVar47;" (assignment_expression "*(short *)((int)&pBVar52->u + 10) = (short)pBVar47" (pointer_expression "*(short *)((int)&pBVar52->u + 10)" * (cast_expression "(short *)((int)&pBVar52->u + 10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->u + 10)" ( (binary_expression "(int)&pBVar52->u + 10" (cast_expression "(int)&pBVar52->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->u" & (field_expression "pBVar52->u" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(short)pBVar47" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "(pBVar52->u).aBitmap[0] = '\0';" (assignment_expression "(pBVar52->u).aBitmap[0] = '\0'" (subscript_expression "(pBVar52->u).aBitmap[0]" (field_expression "(pBVar52->u).aBitmap" (parenthesized_expression "(pBVar52->u)" ( (field_expression "pBVar52->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)\n          ;" (assignment_expression "*(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)) = (char)((uint)pBVar47 >> 8)" (pointer_expression "*(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3))" * (cast_expression "(char *)((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3))" ( (binary_expression "(int)piStack_1d8 + (int)((int)&pBVar56->iSize + 3)" (cast_expression "(int)piStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)((int)&pBVar56->iSize + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pBVar56->iSize + 3)" ( (binary_expression "(int)&pBVar56->iSize + 3" (cast_expression "(int)&pBVar56->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier))) + number_literal) )))) )))) = (cast_expression "(char)((uint)pBVar47 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)pBVar47 >> 8)" ( (binary_expression "(uint)pBVar47 >> 8" (cast_expression "(uint)pBVar47" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10);" (assignment_expression "*(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1)) =\n               (byte)*(undefined2 *)((int)&pBVar52->u + 10)" (pointer_expression "*(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1))" * (cast_expression "(byte *)((int)piStack_1d8 + (int)(&pBVar56->iSize + 1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_1d8 + (int)(&pBVar56->iSize + 1))" ( (binary_expression "(int)piStack_1d8 + (int)(&pBVar56->iSize + 1)" (cast_expression "(int)piStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(&pBVar56->iSize + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&pBVar56->iSize + 1)" ( (binary_expression "&pBVar56->iSize + 1" (pointer_expression "&pBVar56->iSize" & (field_expression "pBVar56->iSize" identifier -> field_identifier)) + number_literal) )))) )))) = (binary_expression "(byte)*(undefined2 *)((int)&pBVar52->u + 10)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined2 *)((int)&pBVar52->u + 10)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->u + 10)" ( (binary_expression "(int)&pBVar52->u + 10" (cast_expression "(int)&pBVar52->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->u" & (field_expression "pBVar52->u" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8);" (assignment_expression "*pbVar50 = (byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8)" (pointer_expression "*pbVar50" * identifier) = (call_expression "(byte)((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)((int)apBStack_180[0] - (int)pBVar56) >> 8)" ( (binary_expression "(uint)((int)apBStack_180[0] - (int)pBVar56) >> 8" (call_expression "(uint)((int)apBStack_180[0] - (int)pBVar56)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)apBStack_180[0] - (int)pBVar56)" ( (binary_expression "(int)apBStack_180[0] - (int)pBVar56" (cast_expression "(int)apBStack_180[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apBStack_180[0]" identifier [ number_literal ])) - (cast_expression "(int)pBVar56" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "*(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56;" (assignment_expression "*(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)pBVar56" (pointer_expression "*(char *)&pBStack_1b0->iSize" * (cast_expression "(char *)&pBStack_1b0->iSize" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_1b0->iSize" & (field_expression "pBStack_1b0->iSize" identifier -> field_identifier)))) = (binary_expression "(char)apBStack_180[0] - (char)pBVar56" (cast_expression "(char)apBStack_180[0]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "apBStack_180[0]" identifier [ number_literal ])) - (cast_expression "(char)pBVar56" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "pBStack_188 = (Bitvec *)0x0;" (assignment_expression "pBStack_188 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "pPVar21 = apPStack_108[(int)pBVar51];" (assignment_expression "pPVar21 = apPStack_108[(int)pBVar51]" identifier = (subscript_expression "apPStack_108[(int)pBVar51]" identifier [ (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "abStack_8c[(int)pBVar51] = 1;" (assignment_expression "abStack_8c[(int)pBVar51] = 1" (subscript_expression "abStack_8c[(int)pBVar51]" identifier [ (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (expression_statement "*(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21;" (assignment_expression "*(short *)((int)&pBVar52->u + 8) = (short)pBStack_1f4 - (short)pPVar21" (pointer_expression "*(short *)((int)&pBVar52->u + 8)" * (cast_expression "(short *)((int)&pBVar52->u + 8)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar52->u + 8)" ( (binary_expression "(int)&pBVar52->u + 8" (cast_expression "(int)&pBVar52->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar52->u" & (field_expression "pBVar52->u" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(short)pBStack_1f4 - (short)pPVar21" (cast_expression "(short)pBStack_1f4" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) - (cast_expression "(short)pPVar21" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (goto_statement "goto FUN_000a5944;" goto statement_identifier ;) })) }) (else_clause "else {\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }" else (compound_statement "{\nFUN_000a5944:\n      psVar59 = apsStack_150[3];\n      if ((int)pBVar54 <= (int)pBStack_1e8) break;\n    }" { (labeled_statement "FUN_000a5944:\n      psVar59 = apsStack_150[3];" statement_identifier : (expression_statement "psVar59 = apsStack_150[3];" (assignment_expression "psVar59 = apsStack_150[3]" identifier = (subscript_expression "apsStack_150[3]" identifier [ number_literal ])) ;)) (if_statement "if ((int)pBVar54 <= (int)pBStack_1e8) break;" if (parenthesized_expression "((int)pBVar54 <= (int)pBStack_1e8)" ( (binary_expression "(int)pBVar54 <= (int)pBStack_1e8" (cast_expression "(int)pBVar54" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pBStack_1e8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) }))) (expression_statement "pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1);" (assignment_expression "pBStack_1e8 = (Bitvec *)((int)&pBStack_1e8->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBStack_1e8->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBStack_1e8->iSize + 1)" ( (binary_expression "(int)&pBStack_1e8->iSize + 1" (cast_expression "(int)&pBStack_1e8->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBStack_1e8->iSize" & (field_expression "pBStack_1e8->iSize" identifier -> field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (if_statement "if ((((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)) ||\n     (*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1))) {\n    if (((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)) {\n      pBStack_1e8 = (Bitvec *)&pBStack_188;\n      pBVar51 = pBStack_1ec;\n      do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);\n    }\n  }\n  else {\n    pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);\n    if (pBStack_188 == (Bitvec *)0x0) {\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }\n  }" if (parenthesized_expression "((((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)) ||\n     (*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1)))" ( (binary_expression "(((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)) ||\n     (*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1))" (parenthesized_expression "(((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0))" ( (binary_expression "((int *)abStack_8c._64_4_ == (int *)0x0) || (*(u16 *)((int)&pTo->u + 10) != 0)" (parenthesized_expression "((int *)abStack_8c._64_4_ == (int *)0x0)" ( (binary_expression "(int *)abStack_8c._64_4_ == (int *)0x0" (cast_expression "(int *)abStack_8c._64_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "abStack_8c._64_4_" identifier . field_identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(u16 *)((int)&pTo->u + 10) != 0)" ( (binary_expression "*(u16 *)((int)&pTo->u + 10) != 0" (pointer_expression "*(u16 *)((int)&pTo->u + 10)" * (cast_expression "(u16 *)((int)&pTo->u + 10)" ( (type_descriptor "u16 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTo->u + 10)" ( (binary_expression "(int)&pTo->u + 10" (cast_expression "(int)&pTo->u" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTo->u" & (field_expression "pTo->u" identifier -> field_identifier))) + number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "(*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1))" ( (binary_expression "*(ushort *)((int)&apsStack_150[3]->pNext + 8) < (ushort)*(u8 *)((int)&pTo->iDivisor + 1)" (pointer_expression "*(ushort *)((int)&apsStack_150[3]->pNext + 8)" * (cast_expression "(ushort *)((int)&apsStack_150[3]->pNext + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&apsStack_150[3]->pNext + 8)" ( (binary_expression "(int)&apsStack_150[3]->pNext + 8" (cast_expression "(int)&apsStack_150[3]->pNext" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&apsStack_150[3]->pNext" & (field_expression "apsStack_150[3]->pNext" (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) -> field_identifier))) + number_literal) )))) < (binary_expression "(ushort)*(u8 *)((int)&pTo->iDivisor + 1)" (parenthesized_expression "(ushort)" ( identifier )) * (cast_expression "(u8 *)((int)&pTo->iDivisor + 1)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTo->iDivisor + 1)" ( (binary_expression "(int)&pTo->iDivisor + 1" (cast_expression "(int)&pTo->iDivisor" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTo->iDivisor" & (field_expression "pTo->iDivisor" identifier -> field_identifier))) + number_literal) ))))) ))) )) (compound_statement "{\n    if (((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)) {\n      pBStack_1e8 = (Bitvec *)&pBStack_188;\n      pBVar51 = pBStack_1ec;\n      do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);\n    }\n  }" { (if_statement "if (((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)) {\n      pBStack_1e8 = (Bitvec *)&pBStack_188;\n      pBVar51 = pBStack_1ec;\n      do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);\n    }" if (parenthesized_expression "(((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0))" ( (binary_expression "((pBVar8->u).aBitmap[5] != '\0') && (ppBStack_1e0 == (Bitvec **)0x0)" (parenthesized_expression "((pBVar8->u).aBitmap[5] != '\0')" ( (binary_expression "(pBVar8->u).aBitmap[5] != '\0'" (subscript_expression "(pBVar8->u).aBitmap[5]" (field_expression "(pBVar8->u).aBitmap" (parenthesized_expression "(pBVar8->u)" ( (field_expression "pBVar8->u" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(ppBStack_1e0 == (Bitvec **)0x0)" ( (binary_expression "ppBStack_1e0 == (Bitvec **)0x0" identifier == (cast_expression "(Bitvec **)0x0" ( (type_descriptor "Bitvec **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n      pBStack_1e8 = (Bitvec *)&pBStack_188;\n      pBVar51 = pBStack_1ec;\n      do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);\n    }" { (expression_statement "pBStack_1e8 = (Bitvec *)&pBStack_188;" (assignment_expression "pBStack_1e8 = (Bitvec *)&pBStack_188" identifier = (cast_expression "(Bitvec *)&pBStack_188" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_188" & identifier))) ;) (expression_statement "pBVar51 = pBStack_1ec;" (assignment_expression "pBVar51 = pBStack_1ec" identifier = identifier) ;) (do_statement "do {\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      } while (pBVar54 != (Bitvec *)i);" do (compound_statement "{\n        ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;\n        i = (int)&((Bitvec *)i)->iSize + 1;\n        pBVar51 = (Bitvec *)&pBVar51->nSet;\n        ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);\n      }" { (expression_statement "ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize;" (assignment_expression "ppsVar17 = (sqlite3_vfs **)&pBVar51->iSize" identifier = (cast_expression "(sqlite3_vfs **)&pBVar51->iSize" ( (type_descriptor "sqlite3_vfs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier)))) ;) (expression_statement "i = (int)&((Bitvec *)i)->iSize + 1;" (assignment_expression "i = (int)&((Bitvec *)i)->iSize + 1" identifier = (binary_expression "(int)&((Bitvec *)i)->iSize + 1" (cast_expression "(int)&((Bitvec *)i)->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Bitvec *)i)->iSize" & (field_expression "((Bitvec *)i)->iSize" (parenthesized_expression "((Bitvec *)i)" ( (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) + number_literal)) ;) (expression_statement "pBVar51 = (Bitvec *)&pBVar51->nSet;" (assignment_expression "pBVar51 = (Bitvec *)&pBVar51->nSet" identifier = (cast_expression "(Bitvec *)&pBVar51->nSet" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar51->nSet" & (field_expression "pBVar51->nSet" identifier -> field_identifier)))) ;) (expression_statement "ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8);" (call_expression "ptrmapPut((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8)" identifier (argument_list "((BtShared *)pBVar8,*(Pgno *)((*ppsVar17)->xRandomness + 8),'\x05',\n                  (*ppsVar17)->szOsFile,(int *)pBStack_1e8)" ( (cast_expression "(BtShared *)pBVar8" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "*(Pgno *)((*ppsVar17)->xRandomness + 8)" * (cast_expression "(Pgno *)((*ppsVar17)->xRandomness + 8)" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*ppsVar17)->xRandomness + 8)" ( (binary_expression "(*ppsVar17)->xRandomness + 8" (field_expression "(*ppsVar17)->xRandomness" (parenthesized_expression "(*ppsVar17)" ( (pointer_expression "*ppsVar17" * identifier) )) -> field_identifier) + number_literal) )))) , (char_literal "'\x05'" ' escape_sequence ') , (field_expression "(*ppsVar17)->szOsFile" (parenthesized_expression "(*ppsVar17)" ( (pointer_expression "*ppsVar17" * identifier) )) -> field_identifier) , (cast_expression "(int *)pBStack_1e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }) while (parenthesized_expression "(pBVar54 != (Bitvec *)i)" ( (binary_expression "pBVar54 != (Bitvec *)i" identifier != (cast_expression "(Bitvec *)i" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) }) (else_clause "else {\n    pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);\n    if (pBStack_188 == (Bitvec *)0x0) {\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }\n  }" else (compound_statement "{\n    pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);\n    if (pBStack_188 == (Bitvec *)0x0) {\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }\n  }" { (expression_statement "pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff);" (assignment_expression "pBStack_188 = (Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff)" identifier = (cast_expression "(Bitvec *)\n                  (*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))(apsStack_150[3],0xffffffff)" (parenthesized_expression "(*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910))" ( (pointer_expression "*(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910)" * (cast_expression "(code *)(*(int *)(puVar57 + 0xb7620) + -0x5910)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar57 + 0xb7620) + -0x5910)" ( (binary_expression "*(int *)(puVar57 + 0xb7620) + -0x5910" (pointer_expression "*(int *)(puVar57 + 0xb7620)" * (cast_expression "(int *)(puVar57 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar57 + 0xb7620)" ( (binary_expression "puVar57 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(apsStack_150[3],0xffffffff)" ( (subscript_expression "apsStack_150[3]" identifier [ number_literal ]) , number_literal ))))) ;) (if_statement "if (pBStack_188 == (Bitvec *)0x0) {\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }" if (parenthesized_expression "(pBStack_188 == (Bitvec *)0x0)" ( (binary_expression "pBStack_188 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);\n      if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }\n    }" { (expression_statement "copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188);" (call_expression "copyNodeContent((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188)" identifier (argument_list "((MemPage *)psVar59,(MemPage *)pTo,(int *)&pBStack_188)" ( (cast_expression "(MemPage *)psVar59" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(MemPage *)pTo" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int *)&pBStack_188" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_188" & identifier)) ))) ;) (if_statement "if (pBStack_188 == (Bitvec *)0x0) {\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }" if (parenthesized_expression "(pBStack_188 == (Bitvec *)0x0)" ( (binary_expression "pBStack_188 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        freePage((MemPage *)psVar59,(int *)&pBStack_188);\n      }" { (expression_statement "freePage((MemPage *)psVar59,(int *)&pBStack_188);" (call_expression "freePage((MemPage *)psVar59,(int *)&pBStack_188)" identifier (argument_list "((MemPage *)psVar59,(int *)&pBStack_188)" ( (cast_expression "(MemPage *)psVar59" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int *)&pBStack_188" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_188" & identifier)) ))) ;) })) })) }))) (expression_statement "pBVar51 = pBVar54;" (assignment_expression "pBVar51 = pBVar54" identifier = identifier) ;) (while_statement "while (pBVar56 = pTo, pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc) {\n    if (pBStack_188 == (Bitvec *)0x0) {\n      ppsVar17 = ppsStack_1dc + (int)pBVar51;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);\n    }\n    else {\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }\n  }" while (parenthesized_expression "(pBVar56 = pTo, pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc)" ( (comma_expression "pBVar56 = pTo, pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc" (assignment_expression "pBVar56 = pTo" identifier = identifier) , (comma_expression "pBVar60 = pBVar8, (int)pBVar51 < (int)pBStack_1bc" (assignment_expression "pBVar60 = pBVar8" identifier = identifier) , (binary_expression "(int)pBVar51 < (int)pBStack_1bc" (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pBStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)))) )) (compound_statement "{\n    if (pBStack_188 == (Bitvec *)0x0) {\n      ppsVar17 = ppsStack_1dc + (int)pBVar51;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);\n    }\n    else {\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }\n  }" { (if_statement "if (pBStack_188 == (Bitvec *)0x0) {\n      ppsVar17 = ppsStack_1dc + (int)pBVar51;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);\n    }\n    else {\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }" if (parenthesized_expression "(pBStack_188 == (Bitvec *)0x0)" ( (binary_expression "pBStack_188 == (Bitvec *)0x0" identifier == (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppsVar17 = ppsStack_1dc + (int)pBVar51;\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n      freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);\n    }" { (expression_statement "ppsVar17 = ppsStack_1dc + (int)pBVar51;" (assignment_expression "ppsVar17 = ppsStack_1dc + (int)pBVar51" identifier = (binary_expression "ppsStack_1dc + (int)pBVar51" identifier + (cast_expression "(int)pBVar51" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);" (assignment_expression "pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + 1)" ( (binary_expression "(int)&pBVar51->iSize + 1" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "freePage((MemPage *)*ppsVar17,(int *)&pBStack_188);" (call_expression "freePage((MemPage *)*ppsVar17,(int *)&pBStack_188)" identifier (argument_list "((MemPage *)*ppsVar17,(int *)&pBStack_188)" ( (cast_expression "(MemPage *)*ppsVar17" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppsVar17" * identifier)) , (cast_expression "(int *)&pBStack_188" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBStack_188" & identifier)) ))) ;) }) (else_clause "else {\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }" else (compound_statement "{\n      pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);\n    }" { (expression_statement "pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1);" (assignment_expression "pBVar51 = (Bitvec *)((int)&pBVar51->iSize + 1)" identifier = (cast_expression "(Bitvec *)((int)&pBVar51->iSize + 1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar51->iSize + 1)" ( (binary_expression "(int)&pBVar51->iSize + 1" (cast_expression "(int)&pBVar51->iSize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar51->iSize" & (field_expression "pBVar51->iSize" identifier -> field_identifier))) + number_literal) )))) ;) }))) })) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })))
(translation_unit "Elf32_Ehdr *\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}\n\n" (function_definition "Elf32_Ehdr *\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}" type_identifier (pointer_declarator "*\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" * (function_declarator "FUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" identifier (parameter_list "(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" ( (parameter_declaration "Elf32_Ehdr *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "Elf32_Ehdr *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "Elf32_Ehdr *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) )))) (compound_statement "{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "ushort uVar5;" type_identifier identifier ;) (declaration "word wVar6;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar7;" type_identifier (pointer_declarator "*pEVar7" * identifier) ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "byte *pbVar8;" type_identifier (pointer_declarator "*pbVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEVar11;" type_identifier (pointer_declarator "*pEVar11" * identifier) ;) (declaration "uint *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "short *psVar14;" (sized_type_specifier "short" short) (pointer_declarator "*psVar14" * identifier) ;) (declaration "dword *pdVar15;" type_identifier (pointer_declarator "*pdVar15" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "short sVar21;" (sized_type_specifier "short" short) identifier ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "Elf32_Ehdr *extraout_v1;" type_identifier (pointer_declarator "*extraout_v1" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar26;" type_identifier (pointer_declarator "*pEVar26" * identifier) ;) (declaration "dword *pdVar27;" type_identifier (pointer_declarator "*pdVar27" * identifier) ;) (declaration "word *pwVar28;" type_identifier (pointer_declarator "*pwVar28" * identifier) ;) (declaration "undefined4 *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "dword dVar30;" type_identifier identifier ;) (declaration "undefined4 uVar31;" type_identifier identifier ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "word *pwVar33;" type_identifier (pointer_declarator "*pwVar33" * identifier) ;) (declaration "byte *pbVar34;" type_identifier (pointer_declarator "*pbVar34" * identifier) ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "undefined4 uVar36;" type_identifier identifier ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "undefined4 uVar38;" type_identifier identifier ;) (declaration "byte *pbVar39;" type_identifier (pointer_declarator "*pbVar39" * identifier) ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "ushort *puVar41;" type_identifier (pointer_declarator "*puVar41" * identifier) ;) (declaration "Elf32_Ehdr *pEVar42;" type_identifier (pointer_declarator "*pEVar42" * identifier) ;) (declaration "byte bVar45;" type_identifier identifier ;) (declaration "Elf32_Ehdr **ppEVar43;" type_identifier (pointer_declarator "**ppEVar43" * (pointer_declarator "*ppEVar43" * identifier)) ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "char *pcVar46;" primitive_type (pointer_declarator "*pcVar46" * identifier) ;) (declaration "Elf32_Ehdr *pEVar47;" type_identifier (pointer_declarator "*pEVar47" * identifier) ;) (declaration "Elf32_Ehdr *pEVar48;" type_identifier (pointer_declarator "*pEVar48" * identifier) ;) (declaration "Elf32_Ehdr *pEVar49;" type_identifier (pointer_declarator "*pEVar49" * identifier) ;) (declaration "Elf32_Ehdr *pEVar50;" type_identifier (pointer_declarator "*pEVar50" * identifier) ;) (declaration "Elf32_Ehdr *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Elf32_Ehdr *pEVar51;" type_identifier (pointer_declarator "*pEVar51" * identifier) ;) (declaration "Elf32_Ehdr *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "char *pcVar52;" primitive_type (pointer_declarator "*pcVar52" * identifier) ;) (declaration "undefined *puVar53;" type_identifier (pointer_declarator "*puVar53" * identifier) ;) (declaration "Elf32_Ehdr *pEVar54;" type_identifier (pointer_declarator "*pEVar54" * identifier) ;) (declaration "code *pcVar55;" type_identifier (pointer_declarator "*pcVar55" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1f4;" type_identifier (pointer_declarator "*pEStack_1f4" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1f0;" type_identifier (pointer_declarator "*pEStack_1f0" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1ec;" type_identifier (pointer_declarator "*pEStack_1ec" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1e8;" type_identifier (pointer_declarator "*pEStack_1e8" * identifier) ;) (declaration "code *pcStack_1e4;" type_identifier (pointer_declarator "*pcStack_1e4" * identifier) ;) (declaration "undefined1 *puStack_1e0;" type_identifier (pointer_declarator "*puStack_1e0" * identifier) ;) (declaration "Elf32_Ehdr **ppEStack_1dc;" type_identifier (pointer_declarator "**ppEStack_1dc" * (pointer_declarator "*ppEStack_1dc" * identifier)) ;) (declaration "Elf32_Ehdr *pEStack_1d8;" type_identifier (pointer_declarator "*pEStack_1d8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1d4;" type_identifier (pointer_declarator "*pEStack_1d4" * identifier) ;) (declaration "int iStack_1d0;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_1c8;" type_identifier (pointer_declarator "*pEStack_1c8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1c4;" type_identifier (pointer_declarator "*pEStack_1c4" * identifier) ;) (declaration "byte *pbStack_1c0;" type_identifier (pointer_declarator "*pbStack_1c0" * identifier) ;) (declaration "char *pcStack_1bc;" primitive_type (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1b8;" type_identifier (pointer_declarator "*pEStack_1b8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1b0;" type_identifier (pointer_declarator "*pEStack_1b0" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1a8;" type_identifier (pointer_declarator "*pEStack_1a8" * identifier) ;) (declaration "undefined1 auStack_188 [8];" type_identifier (array_declarator "auStack_188 [8]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_180 [36];" type_identifier (array_declarator "auStack_180 [36]" identifier [ number_literal ]) ;) (declaration "word awStack_15c [4];" type_identifier (array_declarator "awStack_15c [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_154 [4];" type_identifier (array_declarator "auStack_154 [4]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr *pEStack_150;" type_identifier (pointer_declarator "*pEStack_150" * identifier) ;) (declaration "undefined1 auStack_14c [8];" type_identifier (array_declarator "auStack_14c [8]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_144 [20];" type_identifier (array_declarator "auStack_144 [20]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_130 [40];" type_identifier (array_declarator "auStack_130 [40]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr EStack_108;" type_identifier identifier ;) (declaration "undefined1 auStack_cc [8];" type_identifier (array_declarator "auStack_cc [8]" identifier [ number_literal ]) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "int aiStack_c0 [13];" primitive_type (array_declarator "aiStack_c0 [13]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_8c;" type_identifier identifier ;) (declaration "undefined1 uStack_88;" type_identifier identifier ;) (declaration "int iStack_84;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_80;" type_identifier (pointer_declarator "*pEStack_80" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_7c;" type_identifier (pointer_declarator "*pEStack_7c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_78;" type_identifier (pointer_declarator "*pEStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_70;" type_identifier (pointer_declarator "*pEStack_70" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_6c;" type_identifier (pointer_declarator "*pEStack_6c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_68;" type_identifier (pointer_declarator "*pEStack_68" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_64;" type_identifier (pointer_declarator "*pEStack_64" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_60;" type_identifier (pointer_declarator "*pEStack_60" * identifier) ;) (declaration "code *pcStack_5c;" type_identifier (pointer_declarator "*pcStack_5c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_54;" type_identifier (pointer_declarator "*pEStack_54" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_4c;" type_identifier (pointer_declarator "*pEStack_4c" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "Elf32_Ehdr *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "dword *pdVar16;" type_identifier (pointer_declarator "*pdVar16" * identifier) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c" identifier = (cast_expression "(Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3]" identifier = (cast_expression "(Elf32_Ehdr *)(uint)param_1->e_ident_pad[3]" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)param_1->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) ;) (expression_statement "local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "bVar45 = (byte)((uint)param_6 >> 8);" (assignment_expression "bVar45 = (byte)((uint)param_6 >> 8)" identifier = (call_expression "(byte)((uint)param_6 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)param_6 >> 8)" ( (binary_expression "(uint)param_6 >> 8" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar22 = (byte)((uint)param_6 >> 0x10);" (assignment_expression "bVar22 = (byte)((uint)param_6 >> 0x10)" identifier = (call_expression "(byte)((uint)param_6 >> 0x10)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)param_6 >> 0x10)" ( (binary_expression "(uint)param_6 >> 0x10" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar24 = (byte)((uint)param_6 >> 0x18);" (assignment_expression "bVar24 = (byte)((uint)param_6 >> 0x18)" identifier = (call_expression "(byte)((uint)param_6 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)param_6 >> 0x18)" ( (binary_expression "(uint)param_6 >> 0x18" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEVar48 = param_2;" (assignment_expression "pEVar48 = param_2" identifier = identifier) ;) (expression_statement "pEStack_1d8 = param_3;" (assignment_expression "pEStack_1d8 = param_3" identifier = identifier) ;) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" identifier = identifier) ;) (if_statement "if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" if (parenthesized_expression "((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version))" ( (binary_expression "(pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)" (parenthesized_expression "(pEVar49 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar49 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)" ( (binary_expression "(int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version" (cast_expression "(int)param_4->e_ident_magic_str" ( (type_descriptor "int" primitive_type) ) (field_expression "param_4->e_ident_magic_str" identifier -> field_identifier)) < (binary_expression "(int)(uint)*(ushort *)&param_1->e_version" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)&param_1->e_version" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier))))) ))) )) (compound_statement "{\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }" { (expression_statement "pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;" (assignment_expression "pEVar26 = (Elf32_Ehdr *)param_1[1].e_version" identifier = (cast_expression "(Elf32_Ehdr *)param_1[1].e_version" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "param_1[1].e_version" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iVar10 = FUN_0009c62c();" (assignment_expression "iVar10 = FUN_0009c62c()" identifier = (call_expression "FUN_0009c62c()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }" { (expression_statement "uVar25 = (uint)param_1->e_ident_pad[0];" (assignment_expression "uVar25 = (uint)param_1->e_ident_pad[0]" identifier = (cast_expression "(uint)param_1->e_ident_pad[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "pbVar34 = *(byte **)&param_1[1].e_ident_class;" (assignment_expression "pbVar34 = *(byte **)&param_1[1].e_ident_class" identifier = (pointer_expression "*(byte **)&param_1[1].e_ident_class" * (cast_expression "(byte **)&param_1[1].e_ident_class" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&param_1[1].e_ident_class" & (field_expression "param_1[1].e_ident_class" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine" identifier = (cast_expression "(Elf32_Ehdr *)(uint)param_1->e_machine" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)param_1->e_machine" ( (type_descriptor "uint" type_identifier) ) (field_expression "param_1->e_machine" identifier -> field_identifier)))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "pbVar39 = pbVar34 + uVar25 + 5;" (assignment_expression "pbVar39 = pbVar34 + uVar25 + 5" identifier = (binary_expression "pbVar34 + uVar25 + 5" (binary_expression "pbVar34 + uVar25" identifier + identifier) + number_literal)) ;) (expression_statement "pbVar37 = pbVar34 + uVar25 + 6;" (assignment_expression "pbVar37 = pbVar34 + uVar25 + 6" identifier = (binary_expression "pbVar34 + uVar25 + 6" (binary_expression "pbVar34 + uVar25" identifier + identifier) + number_literal)) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" identifier = (cast_expression "(Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" ( (binary_expression "pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1" (binary_expression "pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + (binary_expression "(uint)(ushort)param_1->e_version * 2" (cast_expression "(uint)(ushort)param_1->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)param_1->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "param_1->e_version" identifier -> field_identifier))) * number_literal)) + number_literal) )))) ;) (expression_statement "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37)" identifier = (cast_expression "(Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)CONCAT11(*pbVar39,*pbVar37)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*pbVar39,*pbVar37)" identifier (argument_list "(*pbVar39,*pbVar37)" ( (pointer_expression "*pbVar39" * identifier) , (pointer_expression "*pbVar37" * identifier) )))))) ;) (if_statement "if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" if (parenthesized_expression "(unaff_s6 < unaff_s7)" ( (binary_expression "unaff_s6 < unaff_s7" identifier < identifier) )) (compound_statement "{\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }" { (if_statement "if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" if (parenthesized_expression "((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000))" ( (binary_expression "(unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)" (parenthesized_expression "(unaff_s6 == (Elf32_Ehdr *)0x0)" ( (binary_expression "unaff_s6 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)" ( (comma_expression "pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000" (assignment_expression "pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" identifier = (pointer_expression "*(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" * (cast_expression "(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 1) + 0x24)" ( (binary_expression "*(int *)(param_1 + 1) + 0x24" (pointer_expression "*(int *)(param_1 + 1)" * (cast_expression "(int *)(param_1 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "pEVar48 == &Elf32_Ehdr_00010000" identifier == (pointer_expression "&Elf32_Ehdr_00010000" & identifier))) ))) )) (compound_statement "{\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" { (expression_statement "unaff_s6 = &Elf32_Ehdr_00010000;" (assignment_expression "unaff_s6 = &Elf32_Ehdr_00010000" identifier = (pointer_expression "&Elf32_Ehdr_00010000" & identifier)) ;) (goto_statement "goto LAB_000a3e78;" goto statement_identifier ;) })) (expression_statement "pEVar26 = (Elf32_Ehdr *)0xfcb0;" (assignment_expression "pEVar26 = (Elf32_Ehdr *)0xfcb0" identifier = (cast_expression "(Elf32_Ehdr *)0xfcb0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();" (assignment_expression "iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))()" identifier = (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x75c0)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x75c0)" ( (binary_expression "PTR_LAB_0015b740 + -0x75c0" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar10 != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) (expression_statement "unaff_s7 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s6 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar8 = pbVar34;" (assignment_expression "pbVar8 = pbVar34" identifier = identifier) ;) }) (else_clause "else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" else (compound_statement "{\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" { (labeled_statement "LAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" statement_identifier : (if_statement "if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" if (parenthesized_expression "(((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6))" ( (binary_expression "((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)" (parenthesized_expression "((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0))" ( (binary_expression "(pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)" (parenthesized_expression "(pbVar34[uVar25 + 2] != 0)" ( (binary_expression "pbVar34[uVar25 + 2] != 0" (subscript_expression "pbVar34[uVar25 + 2]" identifier [ (binary_expression "uVar25 + 2" identifier + number_literal) ]) != number_literal) )) || (parenthesized_expression "(pbVar34[uVar25 + 1] != 0)" ( (binary_expression "pbVar34[uVar25 + 1] != 0" (subscript_expression "pbVar34[uVar25 + 1]" identifier [ (binary_expression "uVar25 + 1" identifier + number_literal) ]) != number_literal) ))) )) && (parenthesized_expression "(unaff_s7->e_ident_magic_str < unaff_s6)" ( (binary_expression "unaff_s7->e_ident_magic_str < unaff_s6" (field_expression "unaff_s7->e_ident_magic_str" identifier -> field_identifier) < identifier) ))) )) (compound_statement "{\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" { (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)&local_30;" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)&local_30" identifier = (cast_expression "(Elf32_Ehdr *)&local_30" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_30" & identifier))) ;) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" identifier = identifier) ;) (expression_statement "pEVar48 = param_4;" (assignment_expression "pEVar48 = param_4" identifier = identifier) ;) (expression_statement "pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();" (assignment_expression "pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5a84)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x5a84)" ( (binary_expression "PTR_LAB_0015b740 + -0x5a84" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (if_statement "if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" if (parenthesized_expression "(pbVar8 != (byte *)0x0)" ( (binary_expression "pbVar8 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" { (expression_statement "unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34)" identifier = (cast_expression "(Elf32_Ehdr *)(pbVar8 + -(int)pbVar34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar8 + -(int)pbVar34)" ( (binary_expression "pbVar8 + -(int)pbVar34" identifier + (unary_expression "-(int)pbVar34" - (cast_expression "(int)pbVar34" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6 * 0x10000)" ( (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s6 & 0xff)" ( (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (goto_statement "goto LAB_000a3ec4;" goto statement_identifier ;) })) (expression_statement "iVar10 = local_30;" (assignment_expression "iVar10 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) }))) (if_statement "if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }" if (parenthesized_expression "((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4))" ( (binary_expression "(int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" ( (binary_expression "unaff_s7->e_ident_magic_str + 1 + (int)param_4" (binary_expression "unaff_s7->e_ident_magic_str + 1" (field_expression "unaff_s7->e_ident_magic_str" identifier -> field_identifier) + number_literal) + (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }" { (expression_statement "pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));" (assignment_expression "pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" identifier = (cast_expression "(Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" ( (binary_expression "(uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1)" (binary_expression "(uint)*(ushort *)&param_1->e_version" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&param_1->e_version" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier)))) - (cast_expression "(int)(param_4->e_ident_magic_str + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(param_4->e_ident_magic_str + 1)" ( (binary_expression "param_4->e_ident_magic_str + 1" (field_expression "param_4->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5)" identifier = (cast_expression "(Elf32_Ehdr *)(uint)((int)pEVar7 < 5)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)pEVar7 < 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pEVar7 < 5)" ( (binary_expression "(int)pEVar7 < 5" (cast_expression "(int)pEVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)&DAT_00000004;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&DAT_00000004" identifier = (cast_expression "(Elf32_Ehdr *)&DAT_00000004" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (if_statement "if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }" if (parenthesized_expression "(pEStack_1d8 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1d8 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pEVar48 = pEVar7;\n          }" { (expression_statement "pEVar48 = pEVar7;" (assignment_expression "pEVar48 = pEVar7" identifier = identifier) ;) })) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" identifier = identifier) ;) (expression_statement "local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();" (assignment_expression "local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))()" identifier = (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))" ( (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5910)" * (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5910)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b740 + -0x5910)" ( (binary_expression "PTR_LAB_0015b740 + -0x5910" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar10 = local_30;" (assignment_expression "iVar10 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != 0) goto LAB_000a3fdc;" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a3fdc;" goto statement_identifier ;)) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" ( (binary_expression "(CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1" (parenthesized_expression "(CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff)" ( (binary_expression "CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff" (binary_expression "CONCAT11(*pbVar39,*pbVar37) - 1" (call_expression "CONCAT11(*pbVar39,*pbVar37)" identifier (argument_list "(*pbVar39,*pbVar37)" ( (pointer_expression "*pbVar39" * identifier) , (pointer_expression "*pbVar37" * identifier) ))) - number_literal) & number_literal) )) + number_literal) )))) ;) })) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)unaff_s6 - (int)param_4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 - (int)param_4)" ( (binary_expression "(int)unaff_s6 - (int)param_4" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" ( (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)unaff_s6 * 0x10000)" ( (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s6 & 0xff)" ( (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "*pbVar39 = (byte)((uint)unaff_s6 >> 8);" (assignment_expression "*pbVar39 = (byte)((uint)unaff_s6 >> 8)" (pointer_expression "*pbVar39" * identifier) = (call_expression "(byte)((uint)unaff_s6 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)unaff_s6 >> 8)" ( (binary_expression "(uint)unaff_s6 >> 8" (cast_expression "(uint)unaff_s6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*pbVar37 = (byte)unaff_s6;" (assignment_expression "*pbVar37 = (byte)unaff_s6" (pointer_expression "*pbVar37" * identifier) = (cast_expression "(byte)unaff_s6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pbVar8 = pbVar34 + (int)unaff_s6;" (assignment_expression "pbVar8 = pbVar34 + (int)unaff_s6" identifier = (binary_expression "pbVar34 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (labeled_statement "LAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;" statement_identifier : (expression_statement "*(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;" (assignment_expression "*(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2" (pointer_expression "*(short *)&param_1->e_version" * (cast_expression "(short *)&param_1->e_version" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier)))) = (binary_expression "(*(short *)&param_1->e_version - (short)param_4) + -2" (parenthesized_expression "(*(short *)&param_1->e_version - (short)param_4)" ( (binary_expression "*(short *)&param_1->e_version - (short)param_4" (pointer_expression "*(short *)&param_1->e_version" * (cast_expression "(short *)&param_1->e_version" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier)))) - (cast_expression "(short)param_4" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )) + number_literal)) ;)) (if_statement "if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" if (parenthesized_expression "(param_6 == (Elf32_Ehdr *)0x0)" ( (binary_expression "param_6 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }" { (expression_statement "(*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);" (call_expression "(*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar8,param_3,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" else (compound_statement "{\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" { (expression_statement "unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&unaff_s6->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s6->e_ident_class" & (field_expression "unaff_s6->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "(*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);" (call_expression "(*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum)" ( (binary_expression "pbVar34 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&param_3->e_ident_class" & (field_expression "param_3->e_ident_class" identifier -> field_identifier)) , (pointer_expression "&param_4[-1].e_shnum" & (field_expression "param_4[-1].e_shnum" (subscript_expression "param_4[-1]" identifier [ number_literal ]) . field_identifier)) ))) ;) (expression_statement "pbVar8[3] = (byte)param_6;" (assignment_expression "pbVar8[3] = (byte)param_6" (subscript_expression "pbVar8[3]" identifier [ number_literal ]) = (cast_expression "(byte)param_6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar8 = bVar24;" (assignment_expression "*pbVar8 = bVar24" (pointer_expression "*pbVar8" * identifier) = identifier) ;) (expression_statement "pbVar8[1] = bVar22;" (assignment_expression "pbVar8[1] = bVar22" (subscript_expression "pbVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pbVar8[2] = bVar45;" (assignment_expression "pbVar8[2] = bVar45" (subscript_expression "pbVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" identifier = identifier) ;) }))) (expression_statement "param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);" (assignment_expression "param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" ( (binary_expression "*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2" (pointer_expression "*(int *)(param_1[1].e_ident_pad + 3)" * (cast_expression "(int *)(param_1[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1].e_ident_pad + 3)" ( (binary_expression "param_1[1].e_ident_pad + 3" (field_expression "param_1[1].e_ident_pad" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "(int)param_2 * 2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" ( (binary_expression "((uint)(ushort)param_1->e_version - (int)param_2) * 2" (parenthesized_expression "((uint)(ushort)param_1->e_version - (int)param_2)" ( (binary_expression "(uint)(ushort)param_1->e_version - (int)param_2" (cast_expression "(uint)(ushort)param_1->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)param_1->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "param_1->e_version" identifier -> field_identifier))) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) * number_literal) )))) ;) (expression_statement "pEVar48 = param_6;" (assignment_expression "pEVar48 = param_6" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);" (call_expression "(*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1)" (parenthesized_expression "(*(code *)PTR_memmove_0015ba3c)" ( (pointer_expression "*(code *)PTR_memmove_0015ba3c" * (cast_expression "(code *)PTR_memmove_0015ba3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6->e_ident_magic_str + 1)" ( (binary_expression "param_6->e_ident_magic_str + 1" (field_expression "param_6->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) ;) (expression_statement "param_6->e_ident_magic_num = (byte)pEVar49;" (assignment_expression "param_6->e_ident_magic_num = (byte)pEVar49" (field_expression "param_6->e_ident_magic_num" identifier -> field_identifier) = (cast_expression "(byte)pEVar49" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "param_6->e_ident_magic_str[0] = (char)unaff_s7;" (assignment_expression "param_6->e_ident_magic_str[0] = (char)unaff_s7" (subscript_expression "param_6->e_ident_magic_str[0]" (field_expression "param_6->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)unaff_s7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);" (assignment_expression "pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4)" identifier = (cast_expression "(Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar34 + param_1->e_ident_pad[0] + 4)" ( (binary_expression "pbVar34 + param_1->e_ident_pad[0] + 4" (binary_expression "pbVar34 + param_1->e_ident_pad[0]" identifier + (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ])) + number_literal) )))) ;) (expression_statement "*(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;" (assignment_expression "*(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1" (pointer_expression "*(short *)((int)&param_1->e_version + 2)" * (cast_expression "(short *)((int)&param_1->e_version + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&param_1->e_version + 2)" ( (binary_expression "(int)&param_1->e_version + 2" (cast_expression "(int)&param_1->e_version" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&param_1->e_version" & (field_expression "param_1->e_version" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(short)param_1->e_version + 1" (cast_expression "(short)param_1->e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "param_1->e_version" identifier -> field_identifier)) + number_literal)) ;) (expression_statement "bVar22 = pEVar26->e_ident_magic_num + 1;" (assignment_expression "bVar22 = pEVar26->e_ident_magic_num + 1" identifier = (binary_expression "pEVar26->e_ident_magic_num + 1" (field_expression "pEVar26->e_ident_magic_num" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pEVar26->e_ident_magic_num = bVar22;" (assignment_expression "pEVar26->e_ident_magic_num = bVar22" (field_expression "pEVar26->e_ident_magic_num" identifier -> field_identifier) = identifier) ;) (if_statement "if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }" if (parenthesized_expression "(bVar22 == 0)" ( (binary_expression "bVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }" { (expression_statement "pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;" (assignment_expression "pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1" (subscript_expression "pbVar34[param_1->e_ident_pad[0] + 3]" identifier [ (binary_expression "param_1->e_ident_pad[0] + 3" (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]) + number_literal) ]) = (binary_expression "pbVar34[param_1->e_ident_pad[0] + 3] + 1" (subscript_expression "pbVar34[param_1->e_ident_pad[0] + 3]" identifier [ (binary_expression "param_1->e_ident_pad[0] + 3" (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]) + number_literal) ]) + number_literal)) ;) })) (if_statement "if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }" if (parenthesized_expression "(*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0')" ( (binary_expression "*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 1) + 0x11)" * (cast_expression "(char *)(*(int *)(param_1 + 1) + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 1) + 0x11)" ( (binary_expression "*(int *)(param_1 + 1) + 0x11" (pointer_expression "*(int *)(param_1 + 1)" * (cast_expression "(int *)(param_1 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion" identifier = (cast_expression "(Elf32_Ehdr *)&param_1[1].e_ident_abiversion" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&param_1[1].e_ident_abiversion" & (field_expression "param_1[1].e_ident_abiversion" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" identifier = identifier) ;) (expression_statement "pEStack_1d8 = param_3;" (assignment_expression "pEStack_1d8 = param_3" identifier = identifier) ;) (expression_statement "pEVar50 = param_7;" (assignment_expression "pEVar50 = param_7" identifier = identifier) ;) (expression_statement "FUN_000a22e0();" (call_expression "FUN_000a22e0()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" else (compound_statement "{\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" { (labeled_statement "LAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);" statement_identifier : (expression_statement "param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);" (assignment_expression "param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18)" (field_expression "param_7->e_ident_magic_num" identifier -> field_identifier) = (cast_expression "(char)((uint)iVar10 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar10 >> 0x18)" ( (binary_expression "(uint)iVar10 >> 0x18" (cast_expression "(uint)iVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);" (assignment_expression "param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10)" (subscript_expression "param_7->e_ident_magic_str[0]" (field_expression "param_7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)iVar10 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar10 >> 0x10)" ( (binary_expression "(uint)iVar10 >> 0x10" (cast_expression "(uint)iVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);" (assignment_expression "param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8)" (subscript_expression "param_7->e_ident_magic_str[1]" (field_expression "param_7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)iVar10 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar10 >> 8)" ( (binary_expression "(uint)iVar10 >> 8" (cast_expression "(uint)iVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "param_7->e_ident_magic_str[2] = (char)iVar10;" (assignment_expression "param_7->e_ident_magic_str[2] = (char)iVar10" (subscript_expression "param_7->e_ident_magic_str[2]" (field_expression "param_7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)iVar10" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) }) (else_clause "else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" else (compound_statement "{\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" { (expression_statement "pEVar7 = param_3;" (assignment_expression "pEVar7 = param_3" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }" { (expression_statement "pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);" (assignment_expression "pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5)" identifier = (cast_expression "(Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_0015ba30)(param_5)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5)" ( identifier ))))) ;) (expression_statement "pEVar48 = param_3;" (assignment_expression "pEVar48 = param_3" identifier = identifier) ;) (expression_statement "pEStack_1d8 = param_4;" (assignment_expression "pEStack_1d8 = param_4" identifier = identifier) ;) })) (if_statement "if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }" if (parenthesized_expression "(param_6 != (Elf32_Ehdr *)0x0)" ( (binary_expression "param_6 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }" { (expression_statement "pEVar7->e_ident_magic_str[2] = (byte)param_6;" (assignment_expression "pEVar7->e_ident_magic_str[2] = (byte)param_6" (subscript_expression "pEVar7->e_ident_magic_str[2]" (field_expression "pEVar7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(byte)param_6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);" (assignment_expression "param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)param_6 >> 8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)param_6 >> 8)" ( (binary_expression "(uint)param_6 >> 8" (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEVar7->e_ident_magic_num = bVar24;" (assignment_expression "pEVar7->e_ident_magic_num = bVar24" (field_expression "pEVar7->e_ident_magic_num" identifier -> field_identifier) = identifier) ;) (expression_statement "pEVar7->e_ident_magic_str[0] = bVar22;" (assignment_expression "pEVar7->e_ident_magic_str[0] = bVar22" (subscript_expression "pEVar7->e_ident_magic_str[0]" (field_expression "pEVar7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = identifier) ;) (expression_statement "pEVar7->e_ident_magic_str[1] = bVar45;" (assignment_expression "pEVar7->e_ident_magic_str[1] = bVar45" (subscript_expression "pEVar7->e_ident_magic_str[1]" (field_expression "pEVar7->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = identifier) ;) })) (expression_statement "uVar25 = (uint)param_1->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)param_1->e_ident_pad[3]" identifier = (cast_expression "(uint)param_1->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);" (assignment_expression "pEVar26 = (Elf32_Ehdr *)(uVar25 + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(uVar25 + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 + 1)" ( (binary_expression "uVar25 + 1" identifier + number_literal) )))) ;) (expression_statement "param_1->e_ident_pad[3] = (byte)pEVar26;" (assignment_expression "param_1->e_ident_pad[3] = (byte)pEVar26" (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(byte)pEVar26" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;" (assignment_expression "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7" (pointer_expression "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" * (cast_expression "(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" ( (binary_expression "param_1->e_ident_pad + uVar25 * 4 + 0x1b" (binary_expression "param_1->e_ident_pad + uVar25 * 4" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) + (binary_expression "uVar25 * 4" identifier * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;" (assignment_expression "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2" (pointer_expression "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11)" * (cast_expression "(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1->e_ident_pad + uVar25 * 2 + 0x11)" ( (binary_expression "param_1->e_ident_pad + uVar25 * 2 + 0x11" (binary_expression "param_1->e_ident_pad + uVar25 * 2" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) + (binary_expression "uVar25 * 2" identifier * number_literal)) + number_literal) )))) = (cast_expression "(short)param_2" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "param_3 = pEVar7;" (assignment_expression "param_3 = pEVar7" identifier = identifier) ;) }))) (if_statement "if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }" if (parenthesized_expression "(local_2c == *(Elf32_Ehdr **)pEVar47)" ( (binary_expression "local_2c == *(Elf32_Ehdr **)pEVar47" identifier == (pointer_expression "*(Elf32_Ehdr **)pEVar47" * (cast_expression "(Elf32_Ehdr **)pEVar47" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return *(Elf32_Ehdr **)pEVar47;\n  }" { (return_statement "return *(Elf32_Ehdr **)pEVar47;" return (pointer_expression "*(Elf32_Ehdr **)pEVar47" * (cast_expression "(Elf32_Ehdr **)pEVar47" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (expression_statement "pcVar55 = FUN_000a4120;" (assignment_expression "pcVar55 = FUN_000a4120" identifier = identifier) ;) (expression_statement "puVar53 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar53 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar9 = *(int **)(puVar53 + 0xb790c);" (assignment_expression "piVar9 = *(int **)(puVar53 + 0xb790c)" identifier = (pointer_expression "*(int **)(puVar53 + 0xb790c)" * (cast_expression "(int **)(puVar53 + 0xb790c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb790c)" ( (binary_expression "puVar53 + 0xb790c" identifier + number_literal) ))))) ;) (expression_statement "pEStack_60 = param_7;" (assignment_expression "pEStack_60 = param_7" identifier = identifier) ;) (expression_statement "puStack_74 = &pEVar47->e_ident_magic_num;" (assignment_expression "puStack_74 = &pEVar47->e_ident_magic_num" identifier = (pointer_expression "&pEVar47->e_ident_magic_num" & (field_expression "pEVar47->e_ident_magic_num" identifier -> field_identifier))) ;) (expression_statement "auStack_188._0_4_ = (Elf32_Ehdr *)0x0;" (assignment_expression "auStack_188._0_4_ = (Elf32_Ehdr *)0x0" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_8c = 0;" (assignment_expression "uStack_8c = 0" identifier = number_literal) ;) (expression_statement "uStack_88 = 0;" (assignment_expression "uStack_88 = 0" identifier = number_literal) ;) (expression_statement "auStack_cc._0_4_ = 0;" (assignment_expression "auStack_cc._0_4_ = 0" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "iStack_c4 = 0;" (assignment_expression "iStack_c4 = 0" identifier = number_literal) ;) (expression_statement "iStack_84 = *piVar9;" (assignment_expression "iStack_84 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);" (assignment_expression "pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1)" identifier = (pointer_expression "*(Elf32_Ehdr **)(pEVar26 + 1)" * (cast_expression "(Elf32_Ehdr **)(pEVar26 + 1)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pEVar26 + 1)" ( (binary_expression "pEVar26 + 1" identifier + number_literal) ))))) ;) (expression_statement "pEStack_80 = param_1;" (assignment_expression "pEStack_80 = param_1" identifier = identifier) ;) (expression_statement "pEStack_7c = param_6;" (assignment_expression "pEStack_7c = param_6" identifier = identifier) ;) (expression_statement "pEStack_78 = param_3;" (assignment_expression "pEStack_78 = param_3" identifier = identifier) ;) (expression_statement "pEStack_70 = pEVar49;" (assignment_expression "pEStack_70 = pEVar49" identifier = identifier) ;) (expression_statement "pEStack_6c = param_2;" (assignment_expression "pEStack_6c = param_2" identifier = identifier) ;) (expression_statement "pEStack_68 = unaff_s6;" (assignment_expression "pEStack_68 = unaff_s6" identifier = identifier) ;) (expression_statement "pEStack_64 = unaff_s7;" (assignment_expression "pEStack_64 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_5c = pcVar55;" (assignment_expression "pcStack_5c = pcVar55" identifier = identifier) ;) (expression_statement "pEStack_54 = pEVar48;" (assignment_expression "pEStack_54 = pEVar48" identifier = identifier) ;) (expression_statement "pEStack_4c = pEVar50;" (assignment_expression "pEStack_4c = pEVar50" identifier = identifier) ;) (if_statement "if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }" if (parenthesized_expression "(pEStack_1d8 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1d8 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)&DAT_00000007;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&DAT_00000007" identifier = (cast_expression "(Elf32_Ehdr *)&DAT_00000007" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (goto_statement "goto LAB_000a44d0;" goto statement_identifier ;) })) (expression_statement "uVar25 = (uint)(ushort)pEVar26->e_version;" (assignment_expression "uVar25 = (uint)(ushort)pEVar26->e_version" identifier = (cast_expression "(uint)(ushort)pEVar26->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar26->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar26->e_version" identifier -> field_identifier)))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar26->e_ident_pad[3] + uVar25)" ( (binary_expression "pEVar26->e_ident_pad[3] + uVar25" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]) + identifier) )))) ;) (if_statement "if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" if (parenthesized_expression "(pEVar49 < (Elf32_Ehdr *)&SUB_00000002)" ( (binary_expression "pEVar49 < (Elf32_Ehdr *)&SUB_00000002" identifier < (cast_expression "(Elf32_Ehdr *)&SUB_00000002" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) )) (compound_statement "{\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }" { (expression_statement "iVar10._0_1_ = pEVar26[1].e_ident_class;" (assignment_expression "iVar10._0_1_ = pEVar26[1].e_ident_class" (field_expression "iVar10._0_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar10._1_1_ = pEVar26[1].e_ident_data;" (assignment_expression "iVar10._1_1_ = pEVar26[1].e_ident_data" (field_expression "iVar10._1_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_data" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar10._2_1_ = pEVar26[1].e_ident_version;" (assignment_expression "iVar10._2_1_ = pEVar26[1].e_ident_version" (field_expression "iVar10._2_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_version" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar10._3_1_ = pEVar26[1].e_ident_osabi;" (assignment_expression "iVar10._3_1_ = pEVar26[1].e_ident_osabi" (field_expression "iVar10._3_1_" identifier . field_identifier) = (field_expression "pEVar26[1].e_ident_osabi" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pEStack_54 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1d4 = pEVar49;" (assignment_expression "pEStack_1d4 = pEVar49" identifier = identifier) ;) (labeled_statement "LAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);" statement_identifier : (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + pEVar26->e_ident_pad[0] + 8)" ( (binary_expression "iVar10 + pEVar26->e_ident_pad[0] + 8" (binary_expression "iVar10 + pEVar26->e_ident_pad[0]" identifier + (subscript_expression "pEVar26->e_ident_pad[0]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ])) + number_literal) )))) ;)) }) (else_clause "else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" else (compound_statement "{\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" { (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52" identifier = (cast_expression "(Elf32_Ehdr *)0xffe9ca52" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar50 = pEStack_1d4;" (assignment_expression "pEVar50 = pEStack_1d4" identifier = identifier) ;) (if_statement "if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }" if (parenthesized_expression "(pEVar48 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar48 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }" { (if_statement "if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" if (parenthesized_expression "(pEVar49 == pEVar48)" ( (binary_expression "pEVar49 == pEVar48" identifier == identifier) )) (compound_statement "{\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }" { (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" identifier = identifier) ;) (expression_statement "pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48[0x6d57].e_ident_magic_str + 1)" ( (binary_expression "pEVar48[0x6d57].e_ident_magic_str + 1" (field_expression "pEVar48[0x6d57].e_ident_magic_str" (subscript_expression "pEVar48[0x6d57]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) ;) }) (else_clause "else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" else (compound_statement "{\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" { (expression_statement "pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-0x6d58].e_shnum + 1)" ( (binary_expression "(int)&pEVar48[-0x6d58].e_shnum + 1" (cast_expression "(int)&pEVar48[-0x6d58].e_shnum" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-0x6d58].e_shnum" & (field_expression "pEVar48[-0x6d58].e_shnum" (subscript_expression "pEVar48[-0x6d58]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) }))) })) (expression_statement "uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];" (assignment_expression "uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3]" identifier = (binary_expression "(int)pEVar50 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(uint)pEVar26->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) ;) (expression_statement "iVar10 = *(int *)&pEVar26[1].e_ident_class;" (assignment_expression "iVar10 = *(int *)&pEVar26[1].e_ident_class" identifier = (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))))) ;) (if_statement "if (uVar25 == uVar23) goto LAB_000a49d0;" if (parenthesized_expression "(uVar25 == uVar23)" ( (binary_expression "uVar25 == uVar23" identifier == identifier) )) (goto_statement "goto LAB_000a49d0;" goto statement_identifier ;)) (expression_statement "uVar25 = (uint)*(ushort *)&pEVar26->e_entry;" (assignment_expression "uVar25 = (uint)*(ushort *)&pEVar26->e_entry" identifier = (binary_expression "(uint)*(ushort *)&pEVar26->e_entry" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&pEVar26->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26->e_entry" & (field_expression "pEVar26->e_entry" identifier -> field_identifier))))) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" ( (binary_expression "iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" identifier + (call_expression "(uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" ( (binary_expression "*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry" (pointer_expression "*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" * (cast_expression "(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" ( (binary_expression "*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2" (pointer_expression "*(int *)(pEVar26[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar26[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar26[1].e_ident_pad + 3)" ( (binary_expression "pEVar26[1].e_ident_pad + 3" (field_expression "pEVar26[1].e_ident_pad" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "uVar23 * 2" identifier * number_literal)) )))) & (pointer_expression "*(ushort *)&pEVar26->e_entry" * (cast_expression "(ushort *)&pEVar26->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26->e_entry" & (field_expression "pEVar26->e_entry" identifier -> field_identifier))))) )))) )))) ;) }))) (expression_statement "ppEStack_1dc = &pEStack_150;" (assignment_expression "ppEStack_1dc = &pEStack_150" identifier = (pointer_expression "&pEStack_150" & identifier)) ;) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c)" identifier = (cast_expression "(Elf32_Ehdr *)(auStack_180 + 0x1c)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_180 + 0x1c)" ( (binary_expression "auStack_180 + 0x1c" identifier + number_literal) )))) ;) (expression_statement "puStack_1e0 = auStack_188;" (assignment_expression "puStack_1e0 = auStack_188" identifier = identifier) ;) (expression_statement "iStack_1d0 = (int)pEStack_1d4 * 4;" (assignment_expression "iStack_1d0 = (int)pEStack_1d4 * 4" identifier = (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "uVar23 = (uint)pEStack_1c8 & 3;" (assignment_expression "uVar23 = (uint)pEStack_1c8 & 3" identifier = (binary_expression "(uint)pEStack_1c8 & 3" (cast_expression "(uint)pEStack_1c8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;" (assignment_expression "ppEVar43 = ppEStack_1dc + (int)pEStack_1d4" identifier = (binary_expression "ppEStack_1dc + (int)pEStack_1d4" identifier + (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;" (assignment_expression "pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1" identifier = (binary_expression "pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1" (binary_expression "pEStack_1c4->e_ident_magic_str + iStack_1d0" (field_expression "pEStack_1c4->e_ident_magic_str" identifier -> field_identifier) + identifier) + number_literal)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x6acc)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x6acc" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1ec = &EStack_108;" (assignment_expression "pEStack_1ec = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;" (assignment_expression "uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3" identifier = (binary_expression "(uint)(pEStack_1c8->e_ident_magic_str + 2) & 3" (call_expression "(uint)(pEStack_1c8->e_ident_magic_str + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEStack_1c8->e_ident_magic_str + 2)" ( (binary_expression "pEStack_1c8->e_ident_magic_str + 2" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) & number_literal)) ;) (expression_statement "auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;" (assignment_expression "auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (field_expression "auStack_188._4_4_" identifier . field_identifier) = (binary_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (binary_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8" (parenthesized_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       )" ( (binary_expression "*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8" (binary_expression "*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8" (pointer_expression "*(int *)((int)pEStack_1c8 - uVar23)" * (cast_expression "(int *)((int)pEStack_1c8 - uVar23)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1c8 - uVar23)" ( (binary_expression "(int)pEStack_1c8 - uVar23" (cast_expression "(int)pEStack_1c8" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) << (binary_expression "uVar23 * 8" identifier * number_literal)) | (binary_expression "uVar25 & 0xffffffffU >> (4 - uVar23) * 8" identifier & (binary_expression "0xffffffffU >> (4 - uVar23) * 8" number_literal >> (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" ( (binary_expression "4 - uVar23" number_literal - identifier) )) * number_literal)))) )) & (binary_expression "-1 << (uVar32 + 1) * 8" number_literal << (binary_expression "(uVar32 + 1) * 8" (parenthesized_expression "(uVar32 + 1)" ( (binary_expression "uVar32 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "*(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (pointer_expression "*(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" * (cast_expression "(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" ( (binary_expression "pEStack_1c8->e_ident_magic_str + 2 + -uVar32" (binary_expression "pEStack_1c8->e_ident_magic_str + 2" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) + number_literal) + (unary_expression "-uVar32" - identifier)) )))) >> (binary_expression "(3 - uVar32) * 8" (parenthesized_expression "(3 - uVar32)" ( (binary_expression "3 - uVar32" number_literal - identifier) )) * number_literal)))) ;) (expression_statement "pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);" (assignment_expression "pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68)" identifier = (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5c68)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5c68" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar48 = pEStack_1d4;" (assignment_expression "pEVar48 = pEStack_1d4" identifier = identifier) ;) (while_statement "while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }" { (expression_statement "param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);" (assignment_expression "param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" identifier = (cast_expression "(Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" (parenthesized_expression "(*(code *)pEStack_1f0)" ( (pointer_expression "*(code *)pEStack_1f0" * (cast_expression "(code *)pEStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" ( identifier , (field_expression "auStack_188._4_4_" identifier . field_identifier) , identifier , number_literal , number_literal ))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar48 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar48 * 4)" ( (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pEVar50 = param_2;" (assignment_expression "pEVar50 = param_2" identifier = identifier) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (expression_statement "auStack_188._0_4_ = param_2;" (assignment_expression "auStack_188._0_4_ = param_2" (field_expression "auStack_188._0_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (param_2 != (Elf32_Ehdr *)0x0) break;" if (parenthesized_expression "(param_2 != (Elf32_Ehdr *)0x0)" ( (binary_expression "param_2 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" ( (binary_expression "pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]" (binary_expression "pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) + (field_expression "(uint)(ushort)(*ppEVar43)->e_version" (call_expression "(uint)(ushort)(*ppEVar43)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(*ppEVar43)" ( (pointer_expression "*ppEVar43" * identifier) ))) -> field_identifier)) + (subscript_expression "(uint)(*ppEVar43)->e_ident_pad[3]" (field_expression "(uint)(*ppEVar43)->e_ident_pad" (call_expression "(uint)(*ppEVar43)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*ppEVar43)" ( (pointer_expression "*ppEVar43" * identifier) ))) -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "unaff_s7 = param_2;" (assignment_expression "unaff_s7 = param_2" identifier = identifier) ;) (if_statement "if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" if (parenthesized_expression "(pEVar42 == (Elf32_Ehdr *)0xffffffff)" ( (binary_expression "pEVar42 == (Elf32_Ehdr *)0xffffffff" identifier == (cast_expression "(Elf32_Ehdr *)0xffffffff" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" { (expression_statement "pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);" (assignment_expression "pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" identifier = (cast_expression "(Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" ( (binary_expression "(uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc" (call_expression "(uint)(pEStack_1f4->e_ident_magic_str + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEStack_1f4->e_ident_magic_str + 2)" ( (binary_expression "pEStack_1f4->e_ident_magic_str + 2" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) & number_literal) )))) ;) (expression_statement "iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);" (assignment_expression "iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" identifier = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" ( (binary_expression "*(int *)(puVar53 + 0xb75b8) + -0x5ca0" (pointer_expression "*(int *)(puVar53 + 0xb75b8)" * (cast_expression "(int *)(puVar53 + 0xb75b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75b8)" ( (binary_expression "puVar53 + 0xb75b8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" ( (binary_expression "(int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f" (cast_expression "(int)((int)pEVar47 * 6 + pEVar7->e_shoff)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pEVar47 * 6 + pEVar7->e_shoff)" ( (binary_expression "(int)pEVar47 * 6 + pEVar7->e_shoff" (binary_expression "(int)pEVar47 * 6" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + (field_expression "pEVar7->e_shoff" identifier -> field_identifier)) ))) >> number_literal) )))) ;) (if_statement "if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }" if (parenthesized_expression "(iStack_c4 == 0)" ( (binary_expression "iStack_c4 == 0" identifier == number_literal) )) (compound_statement "{\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }" { (expression_statement "auStack_188._0_4_ = &DAT_00000007;" (assignment_expression "auStack_188._0_4_ = &DAT_00000007" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (pointer_expression "&DAT_00000007" & identifier)) ;) (goto_statement "goto LAB_000a4454;" goto statement_identifier ;) })) (expression_statement "pbStack_1c0 = auStack_130 + 0x14;" (assignment_expression "pbStack_1c0 = auStack_130 + 0x14" identifier = (binary_expression "auStack_130 + 0x14" identifier + number_literal)) ;) (expression_statement "aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;" (assignment_expression "aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) = (binary_expression "iStack_c4 + (int)pEVar47 * 4" identifier + (binary_expression "(int)pEVar47 * 4" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "auStack_cc._4_4_ = pEStack_150;" (assignment_expression "auStack_cc._4_4_ = pEStack_150" (field_expression "auStack_cc._4_4_" identifier . field_identifier) = identifier) ;) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar47 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar47 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar47 * 2" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];" (assignment_expression "pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2]" identifier = (cast_expression "(code *)(uint)(byte)pEStack_150->e_ident_magic_str[2]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)pEStack_150->e_ident_magic_str[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pEStack_150->e_ident_magic_str[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pEStack_150->e_ident_magic_str[2]" (field_expression "pEStack_150->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]))))) ;) (expression_statement "pcStack_1bc = pEStack_1d4->e_ident_magic_str;" (assignment_expression "pcStack_1bc = pEStack_1d4->e_ident_magic_str" identifier = (field_expression "pEStack_1d4->e_ident_magic_str" identifier -> field_identifier)) ;) (expression_statement "puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);" (assignment_expression "puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4)" identifier = (cast_expression "(undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pEStack_150->e_ident_abiversion * 4)" ( (binary_expression "(uint)pEStack_150->e_ident_abiversion * 4" (cast_expression "(uint)pEStack_150->e_ident_abiversion" ( (type_descriptor "uint" type_identifier) ) (field_expression "pEStack_150->e_ident_abiversion" identifier -> field_identifier)) * number_literal) )))) ;) (expression_statement "pcVar46 = *(char **)&pEStack_150[1].e_ident_class;" (assignment_expression "pcVar46 = *(char **)&pEStack_150[1].e_ident_class" identifier = (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" * (cast_expression "(char **)&pEStack_150[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine)" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + pEStack_150->e_machine)" ( (binary_expression "pcVar46 + pEStack_150->e_machine" identifier + (field_expression "pEStack_150->e_machine" identifier -> field_identifier)) )))) ;) (expression_statement "pEVar54 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar3 = (ushort)pEStack_150->e_version;" (assignment_expression "uVar3 = (ushort)pEStack_150->e_version" identifier = (cast_expression "(ushort)pEStack_150->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEStack_150->e_version" identifier -> field_identifier))) ;) (expression_statement "uVar1 = *(ushort *)&pEStack_150->e_entry;" (assignment_expression "uVar1 = *(ushort *)&pEStack_150->e_entry" identifier = (pointer_expression "*(ushort *)&pEStack_150->e_entry" * (cast_expression "(ushort *)&pEStack_150->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_150->e_entry" & (field_expression "pEStack_150->e_entry" identifier -> field_identifier))))) ;) (expression_statement "pEVar50 = pEStack_150;" (assignment_expression "pEVar50 = pEStack_150" identifier = identifier) ;) (expression_statement "pbVar34 = pbStack_1c0;" (assignment_expression "pbVar34 = pbStack_1c0" identifier = identifier) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)pcStack_1bc;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pcStack_1bc" identifier = (cast_expression "(Elf32_Ehdr *)pcStack_1bc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;" if (parenthesized_expression "(*pcVar46 == **(char **)&pEStack_150[1].e_ident_class)" ( (binary_expression "*pcVar46 == **(char **)&pEStack_150[1].e_ident_class" (pointer_expression "*pcVar46" * identifier) == (pointer_expression "**(char **)&pEStack_150[1].e_ident_class" * (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" * (cast_expression "(char **)&pEStack_150[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier)))))) )) (goto_statement "goto LAB_000a45ec;" goto statement_identifier ;)) (goto_statement "goto LAB_000a46e0;" goto statement_identifier ;) })) (expression_statement "pcVar55 = (code *)pEVar26[1].e_entry;" (assignment_expression "pcVar55 = (code *)pEVar26[1].e_entry" identifier = (cast_expression "(code *)pEVar26[1].e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar26[1].e_entry" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);" (assignment_expression "pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2)" identifier = (binary_expression "pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2)" (field_expression "pEStack_54->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar42->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar42->e_ident_magic_str + -2)" ( (binary_expression "pEVar42->e_ident_magic_str + -2" (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))))) ;) (if_statement "if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" if (parenthesized_expression "((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))" ( (binary_expression "(pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52)" (parenthesized_expression "(pEVar26->e_ident_pad[3] == 0)" ( (binary_expression "pEVar26->e_ident_pad[3] == 0" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]) == number_literal) )) || (parenthesized_expression "((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52)" ( (binary_expression "(undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52" (cast_expression "(undefined1 *)(uint)(ushort)pEVar26->e_entry" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(ushort)pEVar26->e_entry" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar26->e_entry" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar26->e_entry" identifier -> field_identifier)))) != identifier) ))) )) (compound_statement "{\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }" { (expression_statement "pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));" (assignment_expression "pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" identifier = (cast_expression "(Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" ( (binary_expression "*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)))) + (call_expression "(uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" ( (binary_expression "*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry" (pointer_expression "*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" * (cast_expression "(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" ( (binary_expression "*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2" (pointer_expression "*(int *)(pEVar26[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar26[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar26[1].e_ident_pad + 3)" ( (binary_expression "pEVar26[1].e_ident_pad + 3" (field_expression "pEVar26[1].e_ident_pad" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2" (parenthesized_expression "((int)pcVar52 - (uint)pEVar26->e_ident_pad[3])" ( (binary_expression "(int)pcVar52 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pcVar52" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(uint)pEVar26->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) )) * number_literal)) )))) & (pointer_expression "*(ushort *)&pEVar26->e_entry" * (cast_expression "(ushort *)&pEVar26->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26->e_entry" & (field_expression "pEVar26->e_entry" identifier -> field_identifier))))) )))) )))) ;) (expression_statement "*(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;" (assignment_expression "*(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47" (pointer_expression "*(Elf32_Ehdr **)(pcVar46 + -4)" * (cast_expression "(Elf32_Ehdr **)(pcVar46 + -4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + -4)" ( (binary_expression "pcVar46 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "auStack_188[4] = pEVar47->e_ident_magic_num;" (assignment_expression "auStack_188[4] = pEVar47->e_ident_magic_num" (subscript_expression "auStack_188[4]" identifier [ number_literal ]) = (field_expression "pEVar47->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "auStack_188[5] = pEVar47->e_ident_magic_str[0];" (assignment_expression "auStack_188[5] = pEVar47->e_ident_magic_str[0]" (subscript_expression "auStack_188[5]" identifier [ number_literal ]) = (subscript_expression "pEVar47->e_ident_magic_str[0]" (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "auStack_188[6] = pEVar47->e_ident_magic_str[1];" (assignment_expression "auStack_188[6] = pEVar47->e_ident_magic_str[1]" (subscript_expression "auStack_188[6]" identifier [ number_literal ]) = (subscript_expression "pEVar47->e_ident_magic_str[1]" (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "auStack_188[7] = pEVar47->e_ident_magic_str[2];" (assignment_expression "auStack_188[7] = pEVar47->e_ident_magic_str[2]" (subscript_expression "auStack_188[7]" identifier [ number_literal ]) = (subscript_expression "pEVar47->e_ident_magic_str[2]" (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47)" identifier = (cast_expression "(Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar55)(pEVar26,pEVar47)" (parenthesized_expression "(*pcVar55)" ( (pointer_expression "*pcVar55" * identifier) )) (argument_list "(pEVar26,pEVar47)" ( identifier , identifier ))))) ;) (expression_statement "dVar30 = pEVar7->e_version;" (assignment_expression "dVar30 = pEVar7->e_version" identifier = (field_expression "pEVar7->e_version" identifier -> field_identifier)) ;) (expression_statement "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;" (assignment_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11" (pointer_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" * (cast_expression "(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) (if_statement "if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }" if (parenthesized_expression "((dVar30 & 0xc) != 0)" ( (binary_expression "(dVar30 & 0xc) != 0" (parenthesized_expression "(dVar30 & 0xc)" ( (binary_expression "dVar30 & 0xc" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }" { (expression_statement "iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;" (assignment_expression "iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" identifier = (binary_expression "(int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier)))))) ;) (if_statement "if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }" if (parenthesized_expression "((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10))" ( (binary_expression "(int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)" (cast_expression "(int)pEVar7->e_flags" ( (type_descriptor "int" primitive_type) ) (field_expression "pEVar7->e_flags" identifier -> field_identifier)) < (cast_expression "(int)((int)pEVar11 + iVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pEVar11 + iVar10)" ( (binary_expression "(int)pEVar11 + iVar10" (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )) (compound_statement "{\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }" { (expression_statement "auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);" (assignment_expression "auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(0x113c2,pEVar7->e_flags,pEVar11)" ( number_literal , (field_expression "pEVar7->e_flags" identifier -> field_identifier) , identifier )))) ;) (expression_statement "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);" (call_expression "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc)" (parenthesized_expression "(**(code **)(puVar53 + 0xb786c))" ( (pointer_expression "**(code **)(puVar53 + 0xb786c)" * (pointer_expression "*(code **)(puVar53 + 0xb786c)" * (cast_expression "(code **)(puVar53 + 0xb786c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb786c)" ( (binary_expression "puVar53 + 0xb786c" identifier + number_literal) ))))) )) (argument_list "(ppEStack_1dc,0,pEVar49,0xc)" ( identifier , number_literal , identifier , number_literal ))) ;) (expression_statement "pEStack_1f4 = pEVar49;" (assignment_expression "pEStack_1f4 = pEVar49" identifier = identifier) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);" (call_expression "(**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47)" (parenthesized_expression "(**(code **)(puVar53 + 0xb7910))" ( (pointer_expression "**(code **)(puVar53 + 0xb7910)" * (pointer_expression "*(code **)(puVar53 + 0xb7910)" * (cast_expression "(code **)(puVar53 + 0xb7910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7910)" ( (binary_expression "puVar53 + 0xb7910" identifier + number_literal) ))))) )) (argument_list "((char *)((int)pEStack_1d8 + iVar10),pEVar47)" ( (cast_expression "(char *)((int)pEStack_1d8 + iVar10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1d8 + iVar10)" ( (binary_expression "(int)pEStack_1d8 + iVar10" (cast_expression "(int)pEStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) , identifier ))) ;) (expression_statement "*(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));" (assignment_expression "*(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" (pointer_expression "*(char **)(pcVar46 + -4)" * (cast_expression "(char **)(pcVar46 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + -4)" ( (binary_expression "pcVar46 + -4" identifier + number_literal) )))) = (cast_expression "(char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" ( (binary_expression "(int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class)" (cast_expression "(int)pEStack_1d8" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class)" ( (binary_expression "(int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)&pEVar26[1].e_ident_class" * (cast_expression "(int *)&pEVar26[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_class" & (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))))) ))) )))) ;) (expression_statement "pEStack_1e8 = pEVar11;" (assignment_expression "pEStack_1e8 = pEVar11" identifier = identifier) ;) })) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }" { (expression_statement "(*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);" (call_expression "(*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0)" (parenthesized_expression "(*pcStack_1e4)" ( (pointer_expression "*pcStack_1e4" * identifier) )) (argument_list "(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0)" ( identifier , (binary_expression "(int)pcVar52 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pcVar52" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(uint)pEVar26->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) , identifier , identifier ))) ;) })) }) (else_clause "else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" else (compound_statement "{\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" { (expression_statement "puVar12 = (uint *)pEVar26->e_flags;" (assignment_expression "puVar12 = (uint *)pEVar26->e_flags" identifier = (cast_expression "(uint *)pEVar26->e_flags" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar26->e_flags" identifier -> field_identifier))) ;) (expression_statement "*(uint **)(pcVar46 + -4) = puVar12;" (assignment_expression "*(uint **)(pcVar46 + -4) = puVar12" (pointer_expression "*(uint **)(pcVar46 + -4)" * (cast_expression "(uint **)(pcVar46 + -4)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + -4)" ( (binary_expression "pcVar46 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "auStack_188._4_4_ = *puVar12;" (assignment_expression "auStack_188._4_4_ = *puVar12" (field_expression "auStack_188._4_4_" identifier . field_identifier) = (pointer_expression "*puVar12" * identifier)) ;) (expression_statement "uVar13 = (*pcVar55)(pEVar26,puVar12);" (assignment_expression "uVar13 = (*pcVar55)(pEVar26,puVar12)" identifier = (call_expression "(*pcVar55)(pEVar26,puVar12)" (parenthesized_expression "(*pcVar55)" ( (pointer_expression "*pcVar55" * identifier) )) (argument_list "(pEVar26,puVar12)" ( identifier , identifier )))) ;) (expression_statement "pEVar26->e_ident_pad[3] = 0;" (assignment_expression "pEVar26->e_ident_pad[3] = 0" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;" (assignment_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13" (pointer_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" * (cast_expression "(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))) = identifier) ;) }))) (expression_statement "ppEVar43 = ppEVar43 + -1;" (assignment_expression "ppEVar43 = ppEVar43 + -1" identifier = (binary_expression "ppEVar43 + -1" identifier + number_literal)) ;) (expression_statement "pcVar46 = pcVar46 + -4;" (assignment_expression "pcVar46 = pcVar46 + -4" identifier = (binary_expression "pcVar46 + -4" identifier + number_literal)) ;) (expression_statement "pEVar48 = pEVar42;" (assignment_expression "pEVar48 = pEVar42" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);" (call_expression "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc)" (parenthesized_expression "(**(code **)(puVar53 + 0xb786c))" ( (pointer_expression "**(code **)(puVar53 + 0xb786c)" * (pointer_expression "*(code **)(puVar53 + 0xb786c)" * (cast_expression "(code **)(puVar53 + 0xb786c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb786c)" ( (binary_expression "puVar53 + 0xb786c" identifier + number_literal) ))))) )) (argument_list "(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc)" ( identifier , number_literal , (binary_expression "(int)pEVar48->e_ident_magic_str * 4" (cast_expression "(int)pEVar48->e_ident_magic_str" ( (type_descriptor "int" primitive_type) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier)) * number_literal) , number_literal ))) ;) (expression_statement "unaff_s7 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) (labeled_statement "LAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);" statement_identifier : (expression_statement "(**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);" (call_expression "(**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2)" (parenthesized_expression "(**(code **)(puVar53 + 0xb7894))" ( (pointer_expression "**(code **)(puVar53 + 0xb7894)" * (pointer_expression "*(code **)(puVar53 + 0xb7894)" * (cast_expression "(code **)(puVar53 + 0xb7894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7894)" ( (binary_expression "puVar53 + 0xb7894" identifier + number_literal) ))))) )) (argument_list "(aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) , number_literal , (binary_expression "((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2" (parenthesized_expression "((uint)pEVar50->e_ident_pad[3] + (uint)uVar3)" ( (binary_expression "(uint)pEVar50->e_ident_pad[3] + (uint)uVar3" (cast_expression "(uint)pEVar50->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ])) + (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )) * number_literal) ))) ;)) (if_statement "if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" if (parenthesized_expression "(pEVar50->e_ident_pad[3] == 0)" ( (binary_expression "pEVar50->e_ident_pad[3] == 0" (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }" { (labeled_statement "LAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;" statement_identifier : (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" identifier = (cast_expression "(ushort)pEVar50->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_version" identifier -> field_identifier))) ;)) }) (else_clause "else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" else (compound_statement "{\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" { (expression_statement "uVar25 = (uint)(ushort)pEVar50->e_entry;" (assignment_expression "uVar25 = (uint)(ushort)pEVar50->e_entry" identifier = (cast_expression "(uint)(ushort)pEVar50->e_entry" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar50->e_entry" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_entry" identifier -> field_identifier)))) ;) (if_statement "if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }" { (expression_statement "pcVar52 = pEVar49->e_ident_magic_str;" (assignment_expression "pcVar52 = pEVar49->e_ident_magic_str" identifier = (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier)) ;) (do_statement "do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));" do (compound_statement "{\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      }" { (expression_statement "uVar3._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar3._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar3._0_1_" identifier . field_identifier) = (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "uVar3._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar3._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar3._1_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" ( (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);" (assignment_expression "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3)" (pointer_expression "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(char **)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) = (binary_expression "pcVar46 + (uVar1 & uVar3)" identifier + (parenthesized_expression "(uVar1 & uVar3)" ( (binary_expression "uVar1 & uVar3" identifier & identifier) )))) ;) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1))" ( (binary_expression "pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1)" identifier != (cast_expression "(Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar52 + uVar25 * 2 + -1)" ( (binary_expression "pcVar52 + uVar25 * 2 + -1" (binary_expression "pcVar52 + uVar25 * 2" identifier + (binary_expression "uVar25 * 2" identifier * number_literal)) + number_literal) )))) )) ;) (if_statement "if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;" if (parenthesized_expression "(pEVar50->e_ident_pad[3] == 0)" ( (binary_expression "pEVar50->e_ident_pad[3] == 0" (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000a4624;" goto statement_identifier ;)) })) (expression_statement "pdVar27 = &pEVar50->e_flags;" (assignment_expression "pdVar27 = &pEVar50->e_flags" identifier = (pointer_expression "&pEVar50->e_flags" & (field_expression "pEVar50->e_flags" identifier -> field_identifier))) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);" do (compound_statement "{\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" { (expression_statement "dVar30 = *pdVar27;" (assignment_expression "dVar30 = *pdVar27" identifier = (pointer_expression "*pdVar27" * identifier)) ;) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" identifier = (binary_expression "pdVar27 + 1" identifier + number_literal)) ;) (expression_statement "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;" (assignment_expression "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30" (pointer_expression "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(dword *)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) = identifier) ;) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(iVar10 < (int)(uint)pEVar50->e_ident_pad[3])" ( (binary_expression "iVar10 < (int)(uint)pEVar50->e_ident_pad[3]" identifier < (cast_expression "(int)(uint)pEVar50->e_ident_pad[3]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)pEVar50->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) )) ;) (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" identifier = (cast_expression "(ushort)pEVar50->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_version" identifier -> field_identifier))) ;) }))) (expression_statement "uVar2 = pEVar50->e_machine;" (assignment_expression "uVar2 = pEVar50->e_machine" identifier = (field_expression "pEVar50->e_machine" identifier -> field_identifier)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (for_statement "for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }" for ( ; (binary_expression "pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" identifier < (cast_expression "(Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" ( (binary_expression "pcVar46 + (uint)uVar3 * 2 + (uint)uVar2" (binary_expression "pcVar46 + (uint)uVar3 * 2" identifier + (binary_expression "(uint)uVar3 * 2" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ; (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" ( (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) ) (compound_statement "{\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }" { (expression_statement "uVar5._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar5._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar5._0_1_" identifier . field_identifier) = (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "uVar5._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar5._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar5._1_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "*(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);" (assignment_expression "*(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5)" (pointer_expression "*(char **)(iStack_c4 + iVar10 * 4)" * (cast_expression "(char **)(iStack_c4 + iVar10 * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + iVar10 * 4)" ( (binary_expression "iStack_c4 + iVar10 * 4" identifier + (binary_expression "iVar10 * 4" identifier * number_literal)) )))) = (binary_expression "pcVar46 + (uVar1 & uVar5)" identifier + (parenthesized_expression "(uVar1 & uVar5)" ( (binary_expression "uVar1 & uVar5" identifier & identifier) )))) ;) (expression_statement "auStack_cc._0_4_ = iVar10 + 1;" (assignment_expression "auStack_cc._0_4_ = iVar10 + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) })) (expression_statement "auStack_cc._0_4_ = iVar10;" (assignment_expression "auStack_cc._0_4_ = iVar10" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "*(int *)pbVar34 = iVar10;" (assignment_expression "*(int *)pbVar34 = iVar10" (pointer_expression "*(int *)pbVar34" * (cast_expression "(int *)pbVar34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" if (parenthesized_expression "(((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0))" ( (binary_expression "((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)" (parenthesized_expression "((int)pEVar54 < (int)pEStack_1d4)" ( (binary_expression "(int)pEVar54 < (int)pEStack_1d4" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" { (expression_statement "pcVar55 = *(code **)(puVar53 + 0xb7910);" (assignment_expression "pcVar55 = *(code **)(puVar53 + 0xb7910)" identifier = (pointer_expression "*(code **)(puVar53 + 0xb7910)" * (cast_expression "(code **)(puVar53 + 0xb7910)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7910)" ( (binary_expression "puVar53 + 0xb7910" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);" (assignment_expression "uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" identifier = (pointer_expression "*(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" * (cast_expression "(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar54 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar54 * 4" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);" (assignment_expression "uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" identifier = (pointer_expression "*(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" * (cast_expression "(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" ( (binary_expression "pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1" (binary_expression "pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4" (field_expression "pEStack_1c4->e_ident_magic_str" identifier -> field_identifier) + (binary_expression "(int)pEVar54 * 4" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "uVar25 = uVar23 & 0xffff;" (assignment_expression "uVar25 = uVar23 & 0xffff" identifier = (binary_expression "uVar23 & 0xffff" identifier & number_literal)) ;) (expression_statement "pcVar46 = pEVar51->e_ident_magic_str;" (assignment_expression "pcVar46 = pEVar51->e_ident_magic_str" identifier = (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier)) ;) (expression_statement "*(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;" (assignment_expression "*(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23" (pointer_expression "*(short *)(aiStack_c0[0] + iVar10 * 2)" * (cast_expression "(short *)(aiStack_c0[0] + iVar10 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + iVar10 * 2)" ( (binary_expression "aiStack_c0[0] + iVar10 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "iVar10 * 2" identifier * number_literal)) )))) = (cast_expression "(short)uVar23" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1))" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + (uVar25 - 1))" ( (binary_expression "pEVar51->e_ident_magic_str + (uVar25 - 1)" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + (parenthesized_expression "(uVar25 - 1)" ( (binary_expression "uVar25 - 1" identifier - number_literal) ))) )))) ;) (expression_statement "iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);" (assignment_expression "iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" identifier = (call_expression "(*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" (parenthesized_expression "(*pcVar55)" ( (pointer_expression "*pcVar55" * identifier) )) (argument_list "(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" ( (binary_expression "pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2)" identifier + (cast_expression "(int)(pEStack_1f4->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEStack_1f4->e_ident_magic_str + -2)" ( (binary_expression "pEStack_1f4->e_ident_magic_str + -2" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;" (assignment_expression "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10" (pointer_expression "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) = (binary_expression "puStack_1e0 + iVar10" identifier + identifier)) ;) (expression_statement "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);" (assignment_expression "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" identifier = (cast_expression "(short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) ;) (expression_statement "*psVar14 = *psVar14 - (short)puStack_1e0;" (assignment_expression "*psVar14 = *psVar14 - (short)puStack_1e0" (pointer_expression "*psVar14" * identifier) = (binary_expression "*psVar14 - (short)puStack_1e0" (pointer_expression "*psVar14" * identifier) - (cast_expression "(short)puStack_1e0" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (if_statement "if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" if (parenthesized_expression "(pEVar50->e_ident_abiversion == 0)" ( (binary_expression "pEVar50->e_ident_abiversion == 0" (field_expression "pEVar50->e_ident_abiversion" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" { (expression_statement "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);" (assignment_expression "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" (pointer_expression "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (pointer_expression "*(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" * (cast_expression "(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" ( (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" identifier + (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) ))))) = (pointer_expression "*(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" * (cast_expression "(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pEVar50[1].e_ident_class + 8)" ( (binary_expression "*(int *)&pEVar50[1].e_ident_class + 8" (pointer_expression "*(int *)&pEVar50[1].e_ident_class" * (cast_expression "(int *)&pEVar50[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar50[1].e_ident_class" & (field_expression "pEVar50[1].e_ident_class" (subscript_expression "pEVar50[1]" identifier [ number_literal ]) . field_identifier)))) + number_literal) ))))) ;) (labeled_statement "LAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" statement_identifier : (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;)) }) (else_clause "else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" else (compound_statement "{\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" { (if_statement "if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;" if (parenthesized_expression "(3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2))" ( (binary_expression "3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" number_literal < (pointer_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" * (cast_expression "(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) ))))) )) (goto_statement "goto LAB_000a4864;" goto statement_identifier ;)) (do_statement "do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);" do (compound_statement "{\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      }" { (expression_statement "pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar51->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';" (assignment_expression "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0'" (subscript_expression "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2]" (field_expression "pEStack_1f4->e_ident_magic_str" identifier -> field_identifier) [ (binary_expression "(int)pEVar51 + -2" (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);" (assignment_expression "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" identifier = (cast_expression "(short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) ;) (expression_statement "*psVar14 = *psVar14 + 1;" (assignment_expression "*psVar14 = *psVar14 + 1" (pointer_expression "*psVar14" * identifier) = (binary_expression "*psVar14 + 1" (pointer_expression "*psVar14" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4)" ( (binary_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4" (pointer_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" * (cast_expression "(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" ( (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" identifier . field_identifier) * number_literal)) )))) < number_literal) )) ;) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) = (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" identifier . field_identifier) + number_literal)) ;) }))) (if_statement "if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;" if (parenthesized_expression "(pEVar54->e_ident_magic_str == pcStack_1bc)" ( (binary_expression "pEVar54->e_ident_magic_str == pcStack_1bc" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_000a487c;" goto statement_identifier ;)) (labeled_statement "LAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;" statement_identifier : (expression_statement "pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar54->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier))) ;)) (expression_statement "pbVar34 = pbVar34 + 4;" (assignment_expression "pbVar34 = pbVar34 + 4" identifier = (binary_expression "pbVar34 + 4" identifier + number_literal)) ;) (expression_statement "pEVar50 = ppEStack_1dc[(int)pEVar54];" (assignment_expression "pEVar50 = ppEStack_1dc[(int)pEVar54]" identifier = (subscript_expression "ppEStack_1dc[(int)pEVar54]" identifier [ (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "pcVar46 = *(char **)&pEVar50[1].e_ident_class;" (assignment_expression "pcVar46 = *(char **)&pEVar50[1].e_ident_class" identifier = (pointer_expression "*(char **)&pEVar50[1].e_ident_class" * (cast_expression "(char **)&pEVar50[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEVar50[1].e_ident_class" & (field_expression "pEVar50[1].e_ident_class" (subscript_expression "pEVar50[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" identifier = (cast_expression "(ushort)pEVar50->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar50->e_version" identifier -> field_identifier))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine)" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + pEVar50->e_machine)" ( (binary_expression "pcVar46 + pEVar50->e_machine" identifier + (field_expression "pEVar50->e_machine" identifier -> field_identifier)) )))) ;) (expression_statement "uVar1 = *(ushort *)&pEVar50->e_entry;" (assignment_expression "uVar1 = *(ushort *)&pEVar50->e_entry" identifier = (pointer_expression "*(ushort *)&pEVar50->e_entry" * (cast_expression "(ushort *)&pEVar50->e_entry" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar50->e_entry" & (field_expression "pEVar50->e_entry" identifier -> field_identifier))))) ;) (if_statement "if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;" if (parenthesized_expression "(*pcVar46 != **(char **)&pEStack_150[1].e_ident_class)" ( (binary_expression "*pcVar46 != **(char **)&pEStack_150[1].e_ident_class" (pointer_expression "*pcVar46" * identifier) != (pointer_expression "**(char **)&pEStack_150[1].e_ident_class" * (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" * (cast_expression "(char **)&pEStack_150[1].e_ident_class" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier)))))) )) (goto_statement "goto LAB_000a46e0;" goto statement_identifier ;)) (goto_statement "goto LAB_000a45ec;" goto statement_identifier ;) })) (if_statement "if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;" if (parenthesized_expression "(pEVar54->e_ident_magic_str != pcStack_1bc)" ( (binary_expression "pEVar54->e_ident_magic_str != pcStack_1bc" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) != identifier) )) (goto_statement "goto LAB_000a46ac;" goto statement_identifier ;)) (labeled_statement "LAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));" statement_identifier : (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc))" identifier = (cast_expression "(Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1e0 + (pEVar7->e_flags - 0xc))" ( (binary_expression "puStack_1e0 + (pEVar7->e_flags - 0xc)" identifier + (parenthesized_expression "(pEVar7->e_flags - 0xc)" ( (binary_expression "pEVar7->e_flags - 0xc" (field_expression "pEVar7->e_flags" identifier -> field_identifier) - number_literal) ))) )))) ;)) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" identifier = number_literal) ;) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)auStack_130;" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)auStack_130" identifier = (cast_expression "(Elf32_Ehdr *)auStack_130" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEVar49 = &EStack_108;" (assignment_expression "pEVar49 = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "pEVar47 = pEStack_150;" (assignment_expression "pEVar47 = pEStack_150" identifier = identifier) ;) (while_statement "while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }" { (expression_statement "uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;" (assignment_expression "uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion" identifier = (pointer_expression "*(undefined4 *)&pEVar47[1].e_ident_abiversion" * (cast_expression "(undefined4 *)&pEVar47[1].e_ident_abiversion" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47[1].e_ident_abiversion" & (field_expression "pEVar47[1].e_ident_abiversion" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "iVar18 = *(int *)(pbStack_1c0 + iVar10);" (assignment_expression "iVar18 = *(int *)(pbStack_1c0 + iVar10)" identifier = (pointer_expression "*(int *)(pbStack_1c0 + iVar10)" * (cast_expression "(int *)(pbStack_1c0 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + iVar10)" ( (binary_expression "pbStack_1c0 + iVar10" identifier + identifier) ))))) ;) (expression_statement "*(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;" (assignment_expression "*(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18" (pointer_expression "*(int *)(auStack_cc + (iVar44 + 10) * 4)" * (cast_expression "(int *)(auStack_cc + (iVar44 + 10) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 10) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 10) * 4" identifier + (binary_expression "(iVar44 + 10) * 4" (parenthesized_expression "(iVar44 + 10)" ( (binary_expression "iVar44 + 10" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;" (assignment_expression "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13" (pointer_expression "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4)" * (cast_expression "(undefined4 *)(auStack_cc + (iVar44 + 4) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 4) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 4) * 4" identifier + (binary_expression "(iVar44 + 4) * 4" (parenthesized_expression "(iVar44 + 4)" ( (binary_expression "iVar44 + 4" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "iVar20 = iVar44 + 1;" (assignment_expression "iVar20 = iVar44 + 1" identifier = (binary_expression "iVar44 + 1" identifier + number_literal)) ;) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }" { (expression_statement "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;" (assignment_expression "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion" (pointer_expression "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4)" * (cast_expression "(undefined4 *)(auStack_cc + (iVar44 + 5) * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 5) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 5) * 4" identifier + (binary_expression "(iVar44 + 5) * 4" (parenthesized_expression "(iVar44 + 5)" ( (binary_expression "iVar44 + 5" identifier + number_literal) )) * number_literal)) )))) = (pointer_expression "*(undefined4 *)&pEVar26[1].e_ident_abiversion" * (cast_expression "(undefined4 *)&pEVar26[1].e_ident_abiversion" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar26[1].e_ident_abiversion" & (field_expression "pEVar26[1].e_ident_abiversion" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "*(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;" (assignment_expression "*(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1" (pointer_expression "*(int *)(auStack_cc + (iVar44 + 0xb) * 4)" * (cast_expression "(int *)(auStack_cc + (iVar44 + 0xb) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc + (iVar44 + 0xb) * 4)" ( (binary_expression "auStack_cc + (iVar44 + 0xb) * 4" identifier + (binary_expression "(iVar44 + 0xb) * 4" (parenthesized_expression "(iVar44 + 0xb)" ( (binary_expression "iVar44 + 0xb" identifier + number_literal) )) * number_literal)) )))) = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (expression_statement "iVar20 = iVar44 + 2;" (assignment_expression "iVar20 = iVar44 + 2" identifier = (binary_expression "iVar44 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar44 = iVar20;" (assignment_expression "iVar44 = iVar20" identifier = identifier) ;) (expression_statement "bVar22 = pEVar47->e_ident_pad[3];" (assignment_expression "bVar22 = pEVar47->e_ident_pad[3]" identifier = (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;" (assignment_expression "iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version" identifier = (binary_expression "(int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "(uint)*(ushort *)&pEVar47->e_version" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)&pEVar47->e_version" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47->e_version" & (field_expression "pEVar47->e_version" identifier -> field_identifier)))))) ;) (expression_statement "*(int *)pEVar49 = iVar20;" (assignment_expression "*(int *)pEVar49 = iVar20" (pointer_expression "*(int *)pEVar49" * (cast_expression "(int *)pEVar49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }" if (parenthesized_expression "(bVar22 != 0)" ( (binary_expression "bVar22 != 0" identifier != number_literal) )) (compound_statement "{\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }" { (expression_statement "pdVar27 = &pEVar47->e_flags;" (assignment_expression "pdVar27 = &pEVar47->e_flags" identifier = (pointer_expression "&pEVar47->e_flags" & (field_expression "pEVar47->e_flags" identifier -> field_identifier))) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (do_statement "do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);" do (compound_statement "{\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      }" { (expression_statement "dVar30 = *pdVar27;" (assignment_expression "dVar30 = *pdVar27" identifier = (pointer_expression "*pdVar27" * identifier)) ;) (expression_statement "iVar35 = iVar35 + 1;" (assignment_expression "iVar35 = iVar35 + 1" identifier = (binary_expression "iVar35 + 1" identifier + number_literal)) ;) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" identifier = (binary_expression "pdVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);" (assignment_expression "iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30)" identifier = (call_expression "(*(code *)pEVar47[1].e_entry)(pEVar47,dVar30)" (parenthesized_expression "(*(code *)pEVar47[1].e_entry)" ( (pointer_expression "*(code *)pEVar47[1].e_entry" * (cast_expression "(code *)pEVar47[1].e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47[1].e_entry" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(pEVar47,dVar30)" ( identifier , identifier )))) ;) (expression_statement "bVar22 = pEVar47->e_ident_pad[3];" (assignment_expression "bVar22 = pEVar47->e_ident_pad[3]" identifier = (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar20 = iVar20 + iVar19 + 2;" (assignment_expression "iVar20 = iVar20 + iVar19 + 2" identifier = (binary_expression "iVar20 + iVar19 + 2" (binary_expression "iVar20 + iVar19" identifier + identifier) + number_literal)) ;) (expression_statement "*(int *)pEVar49 = iVar20;" (assignment_expression "*(int *)pEVar49 = iVar20" (pointer_expression "*(int *)pEVar49" * (cast_expression "(int *)pEVar49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) while (parenthesized_expression "(iVar35 < (int)(uint)bVar22)" ( (binary_expression "iVar35 < (int)(uint)bVar22" identifier < (cast_expression "(int)(uint)bVar22" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ;) })) (expression_statement "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;" (assignment_expression "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18" (pointer_expression "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" * (cast_expression "(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10 + -1" (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10" (field_expression "pEStack_1a8->e_ident_magic_str" identifier -> field_identifier) + identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iStack_1d0 == iVar10) break;" if (parenthesized_expression "(iStack_1d0 == iVar10)" ( (binary_expression "iStack_1d0 == iVar10" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" * (cast_expression "(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppEStack_1dc + iVar10 + 4)" ( (binary_expression "(int)ppEStack_1dc + iVar10 + 4" (binary_expression "(int)ppEStack_1dc + iVar10" (cast_expression "(int)ppEStack_1dc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))) ;) (expression_statement "iVar10 = iVar10 + 4;" (assignment_expression "iVar10 = iVar10 + 4" identifier = (binary_expression "iVar10 + 4" identifier + number_literal)) ;) })) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_cc" identifier = (cast_expression "(Elf32_Ehdr *)auStack_cc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)0x1;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)0x1" identifier = (cast_expression "(Elf32_Ehdr *)0x1" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&SUB_00000002;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&SUB_00000002" identifier = (cast_expression "(Elf32_Ehdr *)&SUB_00000002" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "pEVar42 = pEStack_1a8;" (assignment_expression "pEVar42 = pEStack_1a8" identifier = identifier) ;) (expression_statement "pEVar54 = &EStack_108;" (assignment_expression "pEVar54 = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }" { (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar47[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar47[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar47[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar47[-1].e_shstrndx" & (field_expression "pEVar47[-1].e_shstrndx" (subscript_expression "pEVar47[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "iVar44._0_1_ = pEVar54->e_ident_magic_num;" (assignment_expression "iVar44._0_1_ = pEVar54->e_ident_magic_num" (field_expression "iVar44._0_1_" identifier . field_identifier) = (field_expression "pEVar54->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "iVar44._1_1_ = pEVar54->e_ident_magic_str[0];" (assignment_expression "iVar44._1_1_ = pEVar54->e_ident_magic_str[0]" (field_expression "iVar44._1_1_" identifier . field_identifier) = (subscript_expression "pEVar54->e_ident_magic_str[0]" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar44._2_1_ = pEVar54->e_ident_magic_str[1];" (assignment_expression "iVar44._2_1_ = pEVar54->e_ident_magic_str[1]" (field_expression "iVar44._2_1_" identifier . field_identifier) = (subscript_expression "pEVar54->e_ident_magic_str[1]" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "iVar44._3_1_ = pEVar54->e_ident_magic_str[2];" (assignment_expression "iVar44._3_1_ = pEVar54->e_ident_magic_str[2]" (field_expression "iVar44._3_1_" identifier . field_identifier) = (subscript_expression "pEVar54->e_ident_magic_str[2]" (field_expression "pEVar54->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" identifier = identifier) ;) (expression_statement "pEVar11 = pEVar48;" (assignment_expression "pEVar11 = pEVar48" identifier = identifier) ;) (expression_statement "pEVar51 = pEVar42;" (assignment_expression "pEVar51 = pEVar42" identifier = identifier) ;) (expression_statement "pEStack_1d4 = pEStack_1a8;" (assignment_expression "pEStack_1d4 = pEStack_1a8" identifier = identifier) ;) (expression_statement "pEStack_1b0 = pEVar7;" (assignment_expression "pEStack_1b0 = pEVar7" identifier = identifier) ;) (if_statement "if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" if (parenthesized_expression "((int)pEStack_1f4 < iVar44)" ( (binary_expression "(int)pEStack_1f4 < iVar44" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }" { (do_statement "do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);" do (compound_statement "{\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      }" { (expression_statement "pEVar48 = pEVar50;" (assignment_expression "pEVar48 = pEVar50" identifier = identifier) ;) (if_statement "if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }" if (parenthesized_expression "((int)pEVar11 <= (int)pEVar47)" ( (binary_expression "(int)pEVar11 <= (int)pEVar47" (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }" { (if_statement "if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }" if (parenthesized_expression "(pEVar49 == (Elf32_Ehdr *)&DAT_00000006)" ( (binary_expression "pEVar49 == (Elf32_Ehdr *)&DAT_00000006" identifier == (cast_expression "(Elf32_Ehdr *)&DAT_00000006" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) )) (compound_statement "{\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }" { (expression_statement "uVar13 = 0x11477;" (assignment_expression "uVar13 = 0x11477" identifier = number_literal) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)&DAT_00000006;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)&DAT_00000006" identifier = (cast_expression "(Elf32_Ehdr *)&DAT_00000006" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;) (expression_statement "pEStack_1b8 = pEStack_1c4;" (assignment_expression "pEStack_1b8 = pEStack_1c4" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) })) (expression_statement "pEVar54->e_ident_class = 0;" (assignment_expression "pEVar54->e_ident_class = 0" (field_expression "pEVar54->e_ident_class" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar54->e_ident_data = 0;" (assignment_expression "pEVar54->e_ident_data = 0" (field_expression "pEVar54->e_ident_data" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar54->e_ident_version = 0;" (assignment_expression "pEVar54->e_ident_version = 0" (field_expression "pEVar54->e_ident_version" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar54->e_ident_osabi = 0;" (assignment_expression "pEVar54->e_ident_osabi = 0" (field_expression "pEVar54->e_ident_osabi" identifier -> field_identifier) = number_literal) ;) (expression_statement "pEVar42->e_ident_class = auStack_cc[0];" (assignment_expression "pEVar42->e_ident_class = auStack_cc[0]" (field_expression "pEVar42->e_ident_class" identifier -> field_identifier) = (subscript_expression "auStack_cc[0]" identifier [ number_literal ])) ;) (expression_statement "pEVar42->e_ident_data = auStack_cc[1];" (assignment_expression "pEVar42->e_ident_data = auStack_cc[1]" (field_expression "pEVar42->e_ident_data" identifier -> field_identifier) = (subscript_expression "auStack_cc[1]" identifier [ number_literal ])) ;) (expression_statement "pEVar42->e_ident_version = auStack_cc[2];" (assignment_expression "pEVar42->e_ident_version = auStack_cc[2]" (field_expression "pEVar42->e_ident_version" identifier -> field_identifier) = (subscript_expression "auStack_cc[2]" identifier [ number_literal ])) ;) (expression_statement "pEVar42->e_ident_osabi = auStack_cc[3];" (assignment_expression "pEVar42->e_ident_osabi = auStack_cc[3]" (field_expression "pEVar42->e_ident_osabi" identifier -> field_identifier) = (subscript_expression "auStack_cc[3]" identifier [ number_literal ])) ;) (expression_statement "pEVar11 = pEVar49;" (assignment_expression "pEVar11 = pEVar49" identifier = identifier) ;) })) (expression_statement "pEVar48 = pEVar11;" (assignment_expression "pEVar48 = pEVar11" identifier = identifier) ;) (expression_statement "pEVar51 = *(Elf32_Ehdr **)pEVar42;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)pEVar42" identifier = (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar51[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar51[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar51[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar51[-1].e_shstrndx" & (field_expression "pEVar51[-1].e_shstrndx" (subscript_expression "pEVar51[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar50 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar50 * 2)" ( (binary_expression "(int)pEVar50 * 2" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);" (assignment_expression "uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" identifier = (binary_expression "(uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" ( (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) ))))) ;) (if_statement "if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }" { (expression_statement "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar50)" ( identifier , identifier )))) ;) (expression_statement "pEStack_1f0 = pEVar11;" (assignment_expression "pEStack_1f0 = pEVar11" identifier = identifier) ;) })) (expression_statement "iVar10 = uVar25 + 2;" (assignment_expression "iVar10 = uVar25 + 2" identifier = (binary_expression "uVar25 + 2" identifier + number_literal)) ;) (expression_statement "iVar44 = *(int *)pEVar54 - iVar10;" (assignment_expression "iVar44 = *(int *)pEVar54 - iVar10" identifier = (binary_expression "*(int *)pEVar54 - iVar10" (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) - identifier)) ;) (expression_statement "*(int *)pEVar54 = iVar44;" (assignment_expression "*(int *)pEVar54 = iVar44" (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }" if (parenthesized_expression "(((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0))" ( (binary_expression "((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)" (parenthesized_expression "((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_))" ( (binary_expression "(pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)" (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)" ( (comma_expression "iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_" (assignment_expression "iVar10 = 0" identifier = number_literal) , (binary_expression "(int)pEVar51 < (int)auStack_cc._0_4_" (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)))) ))) )) && (parenthesized_expression "(iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)" ( (comma_expression "iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0" (assignment_expression "iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2" identifier = (binary_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2" (pointer_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" * (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + 1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) + number_literal)) , (binary_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0" (pointer_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" * (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" ( (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + 1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) == number_literal)) ))) )) (compound_statement "{\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }" { (expression_statement "iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);" (assignment_expression "iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar51)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar51)" ( identifier , identifier )))) ;) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" identifier = (binary_expression "iVar10 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar20 = *(int *)&pEVar54->e_ident_class;" (assignment_expression "iVar20 = *(int *)&pEVar54->e_ident_class" identifier = (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier))))) ;) (expression_statement "*(Elf32_Ehdr **)pEVar42 = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEVar42 = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(int *)&pEVar54->e_ident_class = iVar20 + iVar10;" (assignment_expression "*(int *)&pEVar54->e_ident_class = iVar20 + iVar10" (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) = (binary_expression "iVar20 + iVar10" identifier + identifier)) ;) (expression_statement "pEVar11 = pEVar48;" (assignment_expression "pEVar11 = pEVar48" identifier = identifier) ;) }) while (parenthesized_expression "((int)pEStack_1f4 < iVar44)" ( (binary_expression "(int)pEStack_1f4 < iVar44" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) }) (else_clause "else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" else (compound_statement "{\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" { (expression_statement "pEVar50 = *(Elf32_Ehdr **)pEVar42;" (assignment_expression "pEVar50 = *(Elf32_Ehdr **)pEVar42" identifier = (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }))) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (if_statement "if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;" if (parenthesized_expression "((int)auStack_cc._0_4_ <= (int)pEVar50)" ( (binary_expression "(int)auStack_cc._0_4_ <= (int)pEVar50" (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)) <= (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (while_statement "while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }" { (expression_statement "iVar44 = (int)pEVar50 * 2;" (assignment_expression "iVar44 = (int)pEVar50 * 2" identifier = (binary_expression "(int)pEVar50 * 2" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + iVar44)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + iVar44)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + iVar44)" ( (binary_expression "aiStack_c0[0] + iVar44" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + identifier) ))))) ;) (if_statement "if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }" { (expression_statement "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar50)" ( identifier , identifier )))) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) })) (expression_statement "iVar20 = uVar25 + 2;" (assignment_expression "iVar20 = uVar25 + 2" identifier = (binary_expression "uVar25 + 2" identifier + number_literal)) ;) (if_statement "if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;" if (parenthesized_expression "((int)pEStack_1f4 < iVar20 + *(int *)pEVar54)" ( (binary_expression "(int)pEStack_1f4 < iVar20 + *(int *)pEVar54" (cast_expression "(int)pEStack_1f4" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "iVar20 + *(int *)pEVar54" identifier + (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) )) (break_statement "break;" break ;)) (expression_statement "pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar50->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar50->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "*(int *)pEVar54 = iVar20 + *(int *)pEVar54;" (assignment_expression "*(int *)pEVar54 = iVar20 + *(int *)pEVar54" (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "iVar20 + *(int *)pEVar54" identifier + (pointer_expression "*(int *)pEVar54" * (cast_expression "(int *)pEVar54" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "*(Elf32_Ehdr **)pEVar42 = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEVar42 = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEVar42" * (cast_expression "(Elf32_Ehdr **)pEVar42" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "bVar4 = (int)pEVar50 < iVar10;" (assignment_expression "bVar4 = (int)pEVar50 < iVar10" identifier = (binary_expression "(int)pEVar50 < iVar10" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) < identifier)) ;) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }" { (if_statement "if (!bVar4) goto LAB_000a4c3c;" if (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) )) (goto_statement "goto LAB_000a4c3c;" goto statement_identifier ;)) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + iVar44 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + iVar44 + 2)" ( (binary_expression "aiStack_c0[0] + iVar44 + 2" (binary_expression "aiStack_c0[0] + iVar44" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "iVar20 = uVar25 + 2;" (assignment_expression "iVar20 = uVar25 + 2" identifier = (binary_expression "uVar25 + 2" identifier + number_literal)) ;) (if_statement "if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }" { (expression_statement "iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" identifier = (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" ( (pointer_expression "*(code *)pEStack_1ec" * (cast_expression "(code *)pEStack_1ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEStack_1e8,pEVar50)" ( identifier , identifier )))) ;) (expression_statement "bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;" (assignment_expression "bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_" identifier = (binary_expression "(int)pEVar50 < (int)auStack_cc._0_4_" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)))) ;) (expression_statement "iVar20 = iVar20 + 2;" (assignment_expression "iVar20 = iVar20 + 2" identifier = (binary_expression "iVar20 + 2" identifier + number_literal)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) })) })) (expression_statement "*(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;" (assignment_expression "*(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20" (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) = (binary_expression "*(int *)&pEVar54->e_ident_class - iVar20" (pointer_expression "*(int *)&pEVar54->e_ident_class" * (cast_expression "(int *)&pEVar54->e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) - identifier)) ;) (if_statement "if (!bVar4) goto LAB_000a4c3c;" if (parenthesized_expression "(!bVar4)" ( (unary_expression "!bVar4" ! identifier) )) (goto_statement "goto LAB_000a4c3c;" goto statement_identifier ;)) })) (if_statement "if (iVar10 <= (int)pEVar50) break;" if (parenthesized_expression "(iVar10 <= (int)pEVar50)" ( (binary_expression "iVar10 <= (int)pEVar50" identifier <= (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (if_statement "if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }" if (parenthesized_expression "(pEStack_1c4 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1c4 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }" { (expression_statement "iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;" (assignment_expression "iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum" (field_expression "iVar20._0_2_" identifier . field_identifier) = (field_expression "pEVar42[-0xffffffff00000001].e_shnum" (subscript_expression "pEVar42[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;" (assignment_expression "iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx" (field_expression "iVar20._2_2_" identifier . field_identifier) = (field_expression "pEVar42[-0xffffffff00000001].e_shstrndx" (subscript_expression "pEVar42[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) })) (expression_statement "bVar4 = (int)pEVar48 <= (int)pEVar47;" (assignment_expression "bVar4 = (int)pEVar48 <= (int)pEVar47" identifier = (binary_expression "(int)pEVar48 <= (int)pEVar47" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pEStack_1f0 = pEVar48;" (assignment_expression "pEStack_1f0 = pEVar48" identifier = identifier) ;) (if_statement "if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }" if (parenthesized_expression "((int)pEVar50 <= iVar20)" ( (binary_expression "(int)pEVar50 <= iVar20" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }" { (expression_statement "uVar13 = 0x11498;" (assignment_expression "uVar13 = 0x11498" identifier = number_literal) ;) (expression_statement "pEVar51 = pEVar42;" (assignment_expression "pEVar51 = pEVar42" identifier = identifier) ;) (expression_statement "pEStack_1b8 = pEStack_1c4;" (assignment_expression "pEStack_1b8 = pEStack_1c4" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) })) (expression_statement "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar47->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar54->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar54->e_ident_class" & (field_expression "pEVar54->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;" (assignment_expression "pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar42->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar42->e_ident_class" & (field_expression "pEVar42->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar49->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier))) ;) (if_statement "if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }" { (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar47 = pEVar48;" (assignment_expression "pEVar47 = pEVar48" identifier = identifier) ;) (break_statement "break;" break ;) })) })) (labeled_statement "LAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;" statement_identifier : (expression_statement "iVar10 = (int)pEStack_1c4 * 4;" (assignment_expression "iVar10 = (int)pEStack_1c4 * 4" identifier = (binary_expression "(int)pEStack_1c4 * 4" (cast_expression "(int)pEStack_1c4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;)) (if_statement "if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" if (parenthesized_expression "(pEStack_1c4 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1c4 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" { (labeled_statement "LAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;" statement_identifier : (expression_statement "pEStack_1ec = (Elf32_Ehdr *)auStack_144;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)auStack_144" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);" (assignment_expression "pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4)" identifier = (cast_expression "(Elf32_Ehdr *)(auStack_188 + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_188 + 4)" ( (binary_expression "auStack_188 + 4" identifier + number_literal) )))) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75e4) + 0x1660)" ( (binary_expression "*(int *)(puVar53 + 0xb75e4) + 0x1660" (pointer_expression "*(int *)(puVar53 + 0xb75e4)" * (cast_expression "(int *)(puVar53 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x7474)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x7474" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);" (assignment_expression "pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(puVar53 + 0xb75e4)" * (cast_expression "(Elf32_Ehdr **)(puVar53 + 0xb75e4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) ))))) ;) (expression_statement "bVar22 = **(byte **)&pEStack_150[1].e_ident_class;" (assignment_expression "bVar22 = **(byte **)&pEStack_150[1].e_ident_class" identifier = (pointer_expression "**(byte **)&pEStack_150[1].e_ident_class" * (pointer_expression "*(byte **)&pEStack_150[1].e_ident_class" * (cast_expression "(byte **)&pEStack_150[1].e_ident_class" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_150[1].e_ident_class" & (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" identifier [ number_literal ]) . field_identifier)))))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22" identifier = (cast_expression "(Elf32_Ehdr *)(uint)bVar22" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" identifier = identifier) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);" do (compound_statement "{\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    }" { (expression_statement "pEVar42 = pEVar50;" (assignment_expression "pEVar42 = pEVar50" identifier = identifier) ;) (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" identifier = identifier) ;) (if_statement "if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" if (parenthesized_expression "((int)pEVar42 < (int)pcStack_1bc)" ( (binary_expression "(int)pEVar42 < (int)pcStack_1bc" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }" { (expression_statement "auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];" (assignment_expression "auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42]" (field_expression "auStack_180._0_4_" identifier . field_identifier) = (subscript_expression "ppEStack_1dc[(int)pEVar42]" identifier [ (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;" (assignment_expression "ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0" (subscript_expression "ppEStack_1dc[(int)pEVar42]" identifier [ (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)pEVar49 = auStack_180._0_4_;" (assignment_expression "*(undefined4 *)pEVar49 = auStack_180._0_4_" (pointer_expression "*(undefined4 *)pEVar49" * (cast_expression "(undefined4 *)pEVar49" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "auStack_180._0_4_" identifier . field_identifier)) ;) (expression_statement "auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);" (assignment_expression "auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" identifier (argument_list "(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" ( (field_expression "((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version" (parenthesized_expression "((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_180._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_180._0_4_ + 0x34)" ( (binary_expression "auStack_180._0_4_ + 0x34" (field_expression "auStack_180._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) )))) ;) (labeled_statement "joined_r0x000a5018:\n        pEVar51 = pEVar26;" statement_identifier : (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;)) (expression_statement "unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar42->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) }) (else_clause "else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" else (compound_statement "{\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" { (expression_statement "auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);" (assignment_expression "auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0)" (parenthesized_expression "(*(code *)pEStack_1e8)" ( (pointer_expression "*(code *)pEStack_1e8" * (cast_expression "(code *)pEStack_1e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar7,auStack_180,pEVar48,1,0)" ( identifier , identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = pEVar42;" (assignment_expression "unaff_s7 = pEVar42" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (expression_statement "(*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);" (call_expression "(*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_180._0_4_,pEStack_1f0)" ( (field_expression "auStack_180._0_4_" identifier . field_identifier) , identifier ))) ;) (expression_statement "uVar13 = auStack_cc._0_4_;" (assignment_expression "uVar13 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (expression_statement "wVar6 = pEVar7->e_type;" (assignment_expression "wVar6 = pEVar7->e_type" identifier = (field_expression "pEVar7->e_type" identifier -> field_identifier)) ;) (expression_statement "pEVar49->e_ident_magic_num = auStack_180[0];" (assignment_expression "pEVar49->e_ident_magic_num = auStack_180[0]" (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier) = (subscript_expression "auStack_180[0]" identifier [ number_literal ])) ;) (expression_statement "pEVar49->e_ident_magic_str[0] = auStack_180[1];" (assignment_expression "pEVar49->e_ident_magic_str[0] = auStack_180[1]" (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "auStack_180[1]" identifier [ number_literal ])) ;) (expression_statement "pEVar49->e_ident_magic_str[1] = auStack_180[2];" (assignment_expression "pEVar49->e_ident_magic_str[1] = auStack_180[2]" (subscript_expression "pEVar49->e_ident_magic_str[1]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "auStack_180[2]" identifier [ number_literal ])) ;) (expression_statement "pEVar49->e_ident_magic_str[2] = auStack_180[3];" (assignment_expression "pEVar49->e_ident_magic_str[2] = auStack_180[3]" (subscript_expression "pEVar49->e_ident_magic_str[2]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (subscript_expression "auStack_180[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;" (assignment_expression "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13" (pointer_expression "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4)" * (cast_expression "(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + (int)pEVar42 * 4)" ( (binary_expression "pbStack_1c0 + (int)pEVar42 * 4" identifier + (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }" if (parenthesized_expression "((char)wVar6 != '\0')" ( (binary_expression "(char)wVar6 != '\0'" (cast_expression "(char)wVar6" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }" { (expression_statement "uVar13._0_1_ = pEVar26->e_ident_class;" (assignment_expression "uVar13._0_1_ = pEVar26->e_ident_class" (field_expression "uVar13._0_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_class" identifier -> field_identifier)) ;) (expression_statement "uVar13._1_1_ = pEVar26->e_ident_data;" (assignment_expression "uVar13._1_1_ = pEVar26->e_ident_data" (field_expression "uVar13._1_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_data" identifier -> field_identifier)) ;) (expression_statement "uVar13._2_1_ = pEVar26->e_ident_version;" (assignment_expression "uVar13._2_1_ = pEVar26->e_ident_version" (field_expression "uVar13._2_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_version" identifier -> field_identifier)) ;) (expression_statement "uVar13._3_1_ = pEVar26->e_ident_osabi;" (assignment_expression "uVar13._3_1_ = pEVar26->e_ident_osabi" (field_expression "uVar13._3_1_" identifier . field_identifier) = (field_expression "pEVar26->e_ident_osabi" identifier -> field_identifier)) ;) (expression_statement "FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);" (call_expression "FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188)" identifier (argument_list "(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188)" ( identifier , (pointer_expression "*(undefined4 *)(auStack_180._0_4_ + 4)" * (cast_expression "(undefined4 *)(auStack_180._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_180._0_4_ + 4)" ( (binary_expression "auStack_180._0_4_ + 4" (field_expression "auStack_180._0_4_" identifier . field_identifier) + number_literal) )))) , number_literal , identifier , identifier ))) ;) (goto_statement "goto joined_r0x000a5018;" goto statement_identifier ;) })) }))) (expression_statement "pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar42->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "((int)pEVar50 < (int)pEVar47)" ( (binary_expression "(int)pEVar50 < (int)pEVar47" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "piVar40 = (int *)(auStack_144 + 4);" (assignment_expression "piVar40 = (int *)(auStack_144 + 4)" identifier = (cast_expression "(int *)(auStack_144 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144 + 4)" ( (binary_expression "auStack_144 + 4" identifier + number_literal) )))) ;) (expression_statement "pwVar28 = &EStack_108.e_phnum;" (assignment_expression "pwVar28 = &EStack_108.e_phnum" identifier = (pointer_expression "&EStack_108.e_phnum" & (field_expression "EStack_108.e_phnum" identifier . field_identifier))) ;) (expression_statement "pwVar33 = awStack_15c;" (assignment_expression "pwVar33 = awStack_15c" identifier = identifier) ;) (expression_statement "EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);" (assignment_expression "EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4)" (field_expression "EStack_108.e_version" identifier . field_identifier) = (pointer_expression "*(dword *)(auStack_144._0_4_ + 4)" * (cast_expression "(dword *)(auStack_144._0_4_ + 4)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 4)" ( (binary_expression "auStack_144._0_4_ + 4" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "puVar17 = (undefined1 *)0x1;" (assignment_expression "puVar17 = (undefined1 *)0x1" identifier = (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);" (assignment_expression "EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10)" (field_expression "EStack_108.e_ehsize" identifier . field_identifier) = (cast_expression "(short)(EStack_108.e_version >> 0x10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(EStack_108.e_version >> 0x10)" ( (binary_expression "EStack_108.e_version >> 0x10" (field_expression "EStack_108.e_version" identifier . field_identifier) >> number_literal) )))) ;) (expression_statement "EStack_108.e_phentsize = (short)EStack_108.e_version;" (assignment_expression "EStack_108.e_phentsize = (short)EStack_108.e_version" (field_expression "EStack_108.e_phentsize" identifier . field_identifier) = (cast_expression "(short)EStack_108.e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (expression_statement "awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);" (assignment_expression "awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" (subscript_expression "awStack_15c[0]" identifier [ number_literal ]) = (pointer_expression "*(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" * (cast_expression "(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" ( (binary_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c" (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) + number_literal) ))))) ;) (expression_statement "pdVar27 = &EStack_108.e_version;" (assignment_expression "pdVar27 = &EStack_108.e_version" identifier = (pointer_expression "&EStack_108.e_version" & (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (while_statement "while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }" { (expression_statement "pwVar33 = pwVar33 + 1;" (assignment_expression "pwVar33 = pwVar33 + 1" identifier = (binary_expression "pwVar33 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb753c);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb753c)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) ))))) ;) (if_statement "if (pEVar50 == (Elf32_Ehdr *)puVar17) break;" if (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)puVar17)" ( (binary_expression "pEVar50 == (Elf32_Ehdr *)puVar17" identifier == (cast_expression "(Elf32_Ehdr *)puVar17" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar25 = *(uint *)(*piVar40 + 4);" (assignment_expression "uVar25 = *(uint *)(*piVar40 + 4)" identifier = (pointer_expression "*(uint *)(*piVar40 + 4)" * (cast_expression "(uint *)(*piVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar40 + 4)" ( (binary_expression "*piVar40 + 4" (pointer_expression "*piVar40" * identifier) + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(*piVar40 + 0x48);" (assignment_expression "iVar10 = *(int *)(*piVar40 + 0x48)" identifier = (pointer_expression "*(int *)(*piVar40 + 0x48)" * (cast_expression "(int *)(*piVar40 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar40 + 0x48)" ( (binary_expression "*piVar40 + 0x48" (pointer_expression "*piVar40" * identifier) + number_literal) ))))) ;) (expression_statement "pdVar27[1] = uVar25;" (assignment_expression "pdVar27[1] = uVar25" (subscript_expression "pdVar27[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(uint *)pwVar28 = uVar25;" (assignment_expression "*(uint *)pwVar28 = uVar25" (pointer_expression "*(uint *)pwVar28" * (cast_expression "(uint *)pwVar28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "bVar4 = uVar25 == EStack_108.e_version;" (assignment_expression "bVar4 = uVar25 == EStack_108.e_version" identifier = (binary_expression "uVar25 == EStack_108.e_version" identifier == (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (expression_statement "*pwVar33 = *(word *)(iVar10 + 0x1c);" (assignment_expression "*pwVar33 = *(word *)(iVar10 + 0x1c)" (pointer_expression "*pwVar33" * identifier) = (pointer_expression "*(word *)(iVar10 + 0x1c)" * (cast_expression "(word *)(iVar10 + 0x1c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "pdVar15 = &EStack_108.e_version;" (assignment_expression "pdVar15 = &EStack_108.e_version" identifier = (pointer_expression "&EStack_108.e_version" & (field_expression "EStack_108.e_version" identifier . field_identifier))) ;) (if_statement "if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }" { (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);" statement_identifier : (expression_statement "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);" (assignment_expression "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(iVar10 + -0x75c0))(0x1150c)" (parenthesized_expression "(*(code *)(iVar10 + -0x75c0))" ( (pointer_expression "*(code *)(iVar10 + -0x75c0)" * (cast_expression "(code *)(iVar10 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x75c0)" ( (binary_expression "iVar10 + -0x75c0" identifier + number_literal) )))) )) (argument_list "(0x1150c)" ( number_literal )))) ;)) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar42 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar42 * 4)" ( (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })) (while_statement "while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }" while (parenthesized_expression "(pdVar16 = pdVar15 + 1, pdVar27 != pdVar15)" ( (comma_expression "pdVar16 = pdVar15 + 1, pdVar27 != pdVar15" (assignment_expression "pdVar16 = pdVar15 + 1" identifier = (binary_expression "pdVar15 + 1" identifier + number_literal)) , (binary_expression "pdVar27 != pdVar15" identifier != identifier)) )) (compound_statement "{\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }" { (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pdVar15 = pdVar16;" (assignment_expression "pdVar15 = pdVar16" identifier = identifier) ;) (if_statement "if (uVar25 == *pdVar16) goto LAB_000a5138;" if (parenthesized_expression "(uVar25 == *pdVar16)" ( (binary_expression "uVar25 == *pdVar16" identifier == (pointer_expression "*pdVar16" * identifier)) )) (goto_statement "goto LAB_000a5138;" goto statement_identifier ;)) })) (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" identifier = (binary_expression "pdVar27 + 1" identifier + number_literal)) ;) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) (expression_statement "pwVar28 = pwVar28 + 2;" (assignment_expression "pwVar28 = pwVar28 + 2" identifier = (binary_expression "pwVar28 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" identifier = number_literal) ;) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" identifier = identifier) ;) (do_statement "do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );" do (compound_statement "{\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    }" { (expression_statement "uVar25._0_2_ = EStack_108.e_ehsize;" (assignment_expression "uVar25._0_2_ = EStack_108.e_ehsize" (field_expression "uVar25._0_2_" identifier . field_identifier) = (field_expression "EStack_108.e_ehsize" identifier . field_identifier)) ;) (expression_statement "uVar25._2_2_ = EStack_108.e_phentsize;" (assignment_expression "uVar25._2_2_ = EStack_108.e_phentsize" (field_expression "uVar25._2_2_" identifier . field_identifier) = (field_expression "EStack_108.e_phentsize" identifier . field_identifier)) ;) (if_statement "if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" if (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)0x1)" ( (binary_expression "pEVar50 == (Elf32_Ehdr *)0x1" identifier == (cast_expression "(Elf32_Ehdr *)0x1" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }" { (expression_statement "auStack_188._4_2_ = EStack_108.e_ehsize;" (assignment_expression "auStack_188._4_2_ = EStack_108.e_ehsize" (field_expression "auStack_188._4_2_" identifier . field_identifier) = (field_expression "EStack_108.e_ehsize" identifier . field_identifier)) ;) (expression_statement "auStack_188._6_2_ = EStack_108.e_phentsize;" (assignment_expression "auStack_188._6_2_ = EStack_108.e_phentsize" (field_expression "auStack_188._6_2_" identifier . field_identifier) = (field_expression "EStack_108.e_phentsize" identifier . field_identifier)) ;) (expression_statement "EStack_108.e_ehsize = 0xffff;" (assignment_expression "EStack_108.e_ehsize = 0xffff" (field_expression "EStack_108.e_ehsize" identifier . field_identifier) = number_literal) ;) (expression_statement "EStack_108.e_phentsize = 0xffff;" (assignment_expression "EStack_108.e_phentsize = 0xffff" (field_expression "EStack_108.e_phentsize" identifier . field_identifier) = number_literal) ;) (if_statement "if (iVar44 == 0) goto LAB_000a5230;" if (parenthesized_expression "(iVar44 == 0)" ( (binary_expression "iVar44 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000a5230;" goto statement_identifier ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000a51ec:\n        iVar35 = *(int *)pEVar49;" statement_identifier : (expression_statement "iVar35 = *(int *)pEVar49;" (assignment_expression "iVar35 = *(int *)pEVar49" identifier = (pointer_expression "*(int *)pEVar49" * (cast_expression "(int *)pEVar49" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "iVar18 = *(int *)(iVar35 + 0x48);" (assignment_expression "iVar18 = *(int *)(iVar35 + 0x48)" identifier = (pointer_expression "*(int *)(iVar35 + 0x48)" * (cast_expression "(int *)(iVar35 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 0x48)" ( (binary_expression "iVar35 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "*(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];" (assignment_expression "*(word *)(iVar18 + 0x1c) = awStack_15c[iVar20]" (pointer_expression "*(word *)(iVar18 + 0x1c)" * (cast_expression "(word *)(iVar18 + 0x1c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x1c)" ( (binary_expression "iVar18 + 0x1c" identifier + number_literal) )))) = (subscript_expression "awStack_15c[iVar20]" identifier [ identifier ])) ;) (expression_statement "(*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);" (call_expression "(*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_)" (parenthesized_expression "(*(code *)(iVar10 + -0x2370))" ( (pointer_expression "*(code *)(iVar10 + -0x2370)" * (cast_expression "(code *)(iVar10 + -0x2370)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x2370)" ( (binary_expression "iVar10 + -0x2370" identifier + number_literal) )))) )) (argument_list "(iVar18,auStack_188._4_4_)" ( identifier , (field_expression "auStack_188._4_4_" identifier . field_identifier) ))) ;) (expression_statement "*(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;" (assignment_expression "*(undefined4 *)(iVar35 + 4) = auStack_188._4_4_" (pointer_expression "*(undefined4 *)(iVar35 + 4)" * (cast_expression "(undefined4 *)(iVar35 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 4)" ( (binary_expression "iVar35 + 4" identifier + number_literal) )))) = (field_expression "auStack_188._4_4_" identifier . field_identifier)) ;) }) (else_clause "else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" else (compound_statement "{\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" { (expression_statement "pwVar28 = &EStack_108.e_ehsize;" (assignment_expression "pwVar28 = &EStack_108.e_ehsize" identifier = (pointer_expression "&EStack_108.e_ehsize" & (field_expression "EStack_108.e_ehsize" identifier . field_identifier))) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "iVar18 = 1;" (assignment_expression "iVar18 = 1" identifier = number_literal) ;) (expression_statement "auStack_188._4_4_ = EStack_108._40_4_;" (assignment_expression "auStack_188._4_4_ = EStack_108._40_4_" (field_expression "auStack_188._4_4_" identifier . field_identifier) = (field_expression "EStack_108._40_4_" identifier . field_identifier)) ;) (do_statement "do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);" do (compound_statement "{\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        }" { (expression_statement "uVar25 = *(uint *)(pwVar28 + 2);" (assignment_expression "uVar25 = *(uint *)(pwVar28 + 2)" identifier = (pointer_expression "*(uint *)(pwVar28 + 2)" * (cast_expression "(uint *)(pwVar28 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar28 + 2)" ( (binary_expression "pwVar28 + 2" identifier + number_literal) ))))) ;) (expression_statement "pwVar28 = pwVar28 + 2;" (assignment_expression "pwVar28 = pwVar28 + 2" identifier = (binary_expression "pwVar28 + 2" identifier + number_literal)) ;) (if_statement "if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }" if (parenthesized_expression "(uVar25 < (uint)auStack_188._4_4_)" ( (binary_expression "uVar25 < (uint)auStack_188._4_4_" identifier < (cast_expression "(uint)auStack_188._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_188._4_4_" identifier . field_identifier))) )) (compound_statement "{\n            iVar20 = iVar18;\n          }" { (expression_statement "iVar20 = iVar18;" (assignment_expression "iVar20 = iVar18" identifier = identifier) ;) })) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (if_statement "if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }" if (parenthesized_expression "(uVar25 < (uint)auStack_188._4_4_)" ( (binary_expression "uVar25 < (uint)auStack_188._4_4_" identifier < (cast_expression "(uint)auStack_188._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_188._4_4_" identifier . field_identifier))) )) (compound_statement "{\n            auStack_188._4_4_ = uVar25;\n          }" { (expression_statement "auStack_188._4_4_ = uVar25;" (assignment_expression "auStack_188._4_4_ = uVar25" (field_expression "auStack_188._4_4_" identifier . field_identifier) = identifier) ;) })) }) while (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)iVar18)" ( (binary_expression "pEVar50 != (Elf32_Ehdr *)iVar18" identifier != (cast_expression "(Elf32_Ehdr *)iVar18" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) (expression_statement "pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;" (assignment_expression "pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f" identifier = (binary_expression "EStack_108.e_ident_pad + iVar20 * 4 + 0x1f" (binary_expression "EStack_108.e_ident_pad + iVar20 * 4" (field_expression "EStack_108.e_ident_pad" identifier . field_identifier) + (binary_expression "iVar20 * 4" identifier * number_literal)) + number_literal)) ;) (expression_statement "pbVar34[0] = 0xff;" (assignment_expression "pbVar34[0] = 0xff" (subscript_expression "pbVar34[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar34[1] = 0xff;" (assignment_expression "pbVar34[1] = 0xff" (subscript_expression "pbVar34[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar34[2] = 0xff;" (assignment_expression "pbVar34[2] = 0xff" (subscript_expression "pbVar34[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar34[3] = 0xff;" (assignment_expression "pbVar34[3] = 0xff" (subscript_expression "pbVar34[3]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }" if (parenthesized_expression "(iVar20 != iVar44)" ( (binary_expression "iVar20 != iVar44" identifier != identifier) )) (compound_statement "{\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }" { (if_statement "if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }" if (parenthesized_expression "(iVar44 < iVar20)" ( (binary_expression "iVar44 < iVar20" identifier < identifier) )) (compound_statement "{\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }" { (expression_statement "iVar35 = *(int *)&pEVar7->e_phnum;" (assignment_expression "iVar35 = *(int *)&pEVar7->e_phnum" identifier = (pointer_expression "*(int *)&pEVar7->e_phnum" * (cast_expression "(int *)&pEVar7->e_phnum" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar7->e_phnum" & (field_expression "pEVar7->e_phnum" identifier -> field_identifier))))) ;) (expression_statement "iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);" (assignment_expression "iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" identifier = (pointer_expression "*(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" * (cast_expression "(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" ( (binary_expression "*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48" (pointer_expression "*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4)" * (cast_expression "(int *)(auStack_144 + (iVar20 + -1) * 4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144 + (iVar20 + -1) * 4 + 4)" ( (binary_expression "auStack_144 + (iVar20 + -1) * 4 + 4" (binary_expression "auStack_144 + (iVar20 + -1) * 4" identifier + (binary_expression "(iVar20 + -1) * 4" (parenthesized_expression "(iVar20 + -1)" ( (binary_expression "iVar20 + -1" identifier + number_literal) )) * number_literal)) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined2 *)(iVar18 + 0x1c) = 0;" (assignment_expression "*(undefined2 *)(iVar18 + 0x1c) = 0" (pointer_expression "*(undefined2 *)(iVar18 + 0x1c)" * (cast_expression "(undefined2 *)(iVar18 + 0x1c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x1c)" ( (binary_expression "iVar18 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);" (call_expression "(*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35)" (parenthesized_expression "(*(code *)(iVar10 + -0x2370))" ( (pointer_expression "*(code *)(iVar10 + -0x2370)" * (cast_expression "(code *)(iVar10 + -0x2370)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x2370)" ( (binary_expression "iVar10 + -0x2370" identifier + number_literal) )))) )) (argument_list "(iVar18,iVar20 + 1 + iVar35)" ( identifier , (binary_expression "iVar20 + 1 + iVar35" (binary_expression "iVar20 + 1" identifier + number_literal) + identifier) ))) ;) })) (goto_statement "goto LAB_000a51ec;" goto statement_identifier ;) })) }))) (expression_statement "iVar44 = iVar44 + 1;" (assignment_expression "iVar44 = iVar44 + 1" identifier = (binary_expression "iVar44 + 1" identifier + number_literal)) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "uVar25 = auStack_188._4_4_;" (assignment_expression "uVar25 = auStack_188._4_4_" identifier = (field_expression "auStack_188._4_4_" identifier . field_identifier)) ;) (if_statement "if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }" if (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)iVar44)" ( (binary_expression "pEVar50 == (Elf32_Ehdr *)iVar44" identifier == (cast_expression "(Elf32_Ehdr *)iVar44" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }" { (labeled_statement "LAB_000a5230:\n        auStack_188._4_4_ = uVar25;" statement_identifier : (expression_statement "auStack_188._4_4_ = uVar25;" (assignment_expression "auStack_188._4_4_ = uVar25" (field_expression "auStack_188._4_4_" identifier . field_identifier) = identifier) ;)) (expression_statement "iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);" (assignment_expression "iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4)" identifier = (pointer_expression "*(int *)(auStack_144 + (int)pEVar42 * 4)" * (cast_expression "(int *)(auStack_144 + (int)pEVar42 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144 + (int)pEVar42 * 4)" ( (binary_expression "auStack_144 + (int)pEVar42 * 4" identifier + (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "uVar13 = *(undefined4 *)(iVar10 + 4);" (assignment_expression "uVar13 = *(undefined4 *)(iVar10 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar10 + 4)" * (cast_expression "(undefined4 *)(iVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) ))))) ;) (expression_statement "pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;" (assignment_expression "pEStack_1c8->e_ident_magic_str[2] = (char)uVar13" (subscript_expression "pEStack_1c8->e_ident_magic_str[2]" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)uVar13" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);" (assignment_expression "pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18)" (field_expression "pEStack_1c8->e_ident_magic_num" identifier -> field_identifier) = (call_expression "(byte)((uint)uVar13 >> 0x18)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)uVar13 >> 0x18)" ( (binary_expression "(uint)uVar13 >> 0x18" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);" (assignment_expression "pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10)" (subscript_expression "pEStack_1c8->e_ident_magic_str[0]" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)uVar13 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar13 >> 0x10)" ( (binary_expression "(uint)uVar13 >> 0x10" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);" (assignment_expression "pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8)" (subscript_expression "pEStack_1c8->e_ident_magic_str[1]" (field_expression "pEStack_1c8->e_ident_magic_str" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(char)((uint)uVar13 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)uVar13 >> 8)" ( (binary_expression "(uint)uVar13 >> 8" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }" if (parenthesized_expression "(((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc))" ( (binary_expression "((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)" (parenthesized_expression "((bVar22 & 8) == 0)" ( (binary_expression "(bVar22 & 8) == 0" (parenthesized_expression "(bVar22 & 8)" ( (binary_expression "bVar22 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)pcStack_1bc)" ( (binary_expression "pEVar50 != (Elf32_Ehdr *)pcStack_1bc" identifier != (cast_expression "(Elf32_Ehdr *)pcStack_1bc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }" { (expression_statement "puVar17 = auStack_14c + 4;" (assignment_expression "puVar17 = auStack_14c + 4" identifier = (binary_expression "auStack_14c + 4" identifier + number_literal)) ;) (if_statement "if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }" if (parenthesized_expression "((int)pEVar50 <= (int)pcStack_1bc)" ( (binary_expression "(int)pEVar50 <= (int)pcStack_1bc" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            puVar17 = auStack_154;\n          }" { (expression_statement "puVar17 = auStack_154;" (assignment_expression "puVar17 = auStack_154" identifier = identifier) ;) })) (expression_statement "iVar10 = *(int *)(iVar10 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x38)" identifier = (pointer_expression "*(int *)(iVar10 + 0x38)" * (cast_expression "(int *)(iVar10 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);" (assignment_expression "uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" identifier = (pointer_expression "*(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" * (cast_expression "(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" ( (binary_expression "*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8" (pointer_expression "*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" * (cast_expression "(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" ( (binary_expression "*(int *)(puVar17 + iStack_1d0 + 4) + 0x38" (pointer_expression "*(int *)(puVar17 + iStack_1d0 + 4)" * (cast_expression "(int *)(puVar17 + iStack_1d0 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iStack_1d0 + 4)" ( (binary_expression "puVar17 + iStack_1d0 + 4" (binary_expression "puVar17 + iStack_1d0" identifier + identifier) + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar25 = iVar10 + 8;" (assignment_expression "uVar25 = iVar10 + 8" identifier = (binary_expression "iVar10 + 8" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;" (assignment_expression "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "-1 << (4 - uVar23) * 8" number_literal << (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" ( (binary_expression "4 - uVar23" number_literal - identifier) )) * number_literal))) | (binary_expression "uVar32 >> uVar23 * 8" identifier >> (binary_expression "uVar23 * 8" identifier * number_literal)))) ;) (expression_statement "uVar25 = iVar10 + 0xb;" (assignment_expression "uVar25 = iVar10 + 0xb" identifier = (binary_expression "iVar10 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;" (assignment_expression "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "0xffffffffU >> (uVar23 + 1) * 8" number_literal >> (binary_expression "(uVar23 + 1) * 8" (parenthesized_expression "(uVar23 + 1)" ( (binary_expression "uVar23 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar32 << (3 - uVar23) * 8" identifier << (binary_expression "(3 - uVar23) * 8" (parenthesized_expression "(3 - uVar23)" ( (binary_expression "3 - uVar23" number_literal - identifier) )) * number_literal)))) ;) })) (expression_statement "pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (if_statement "if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;" if (parenthesized_expression "((char)pEVar7->e_type == '\0')" ( (binary_expression "(char)pEVar7->e_type == '\0'" (cast_expression "(char)pEVar7->e_type" ( (type_descriptor "char" primitive_type) ) (field_expression "pEVar7->e_type" identifier -> field_identifier)) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags" identifier = (cast_expression "(Elf32_Ehdr *)pEVar7->e_flags" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar7->e_flags" identifier -> field_identifier))) ;) (expression_statement "pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;" (assignment_expression "pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" * (cast_expression "(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" & (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" identifier = (cast_expression "(Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" ( (binary_expression "(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]" (binary_expression "(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) * (cast_expression "(dword *)(auStack_144._0_4_ + 0x14)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x14)" ( (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) )))) + (subscript_expression "(uint)((byte *)(auStack_144._0_4_ + 9))[3]" (call_expression "(uint)((byte *)(auStack_144._0_4_ + 9))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte *)(auStack_144._0_4_ + 9))" ( (cast_expression "(byte *)(auStack_144._0_4_ + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 9)" ( (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) ))) [ number_literal ])) )))) ;) (if_statement "if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;" if (parenthesized_expression "((int)auStack_cc._0_4_ < 1)" ( (binary_expression "(int)auStack_cc._0_4_ < 1" (cast_expression "(int)auStack_cc._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_cc._0_4_" identifier . field_identifier)) < number_literal) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_3 = (Elf32_Ehdr *)0x0;" (assignment_expression "param_3 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);" (assignment_expression "pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" identifier = (cast_expression "(byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" ( (binary_expression "*(int *)(puVar53 + 0xb75e4) + 0x22e0" (pointer_expression "*(int *)(puVar53 + 0xb75e4)" * (cast_expression "(int *)(puVar53 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (expression_statement "param_1 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "param_1 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (expression_statement "param_6 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "param_6 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (expression_statement "pEStack_1b0 = pEVar42;" (assignment_expression "pEStack_1b0 = pEVar42" identifier = identifier) ;) (goto_statement "goto LAB_000a53dc;" goto statement_identifier ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1)" identifier = (cast_expression "(Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + iVar10 + -1" (binary_expression "EStack_108.e_ident_magic_str + iVar10" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + identifier) + number_literal) )))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEStack_1e8 = pEStack_1c4;" (assignment_expression "pEStack_1e8 = pEStack_1c4" identifier = identifier) ;) (expression_statement "pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" identifier = (pointer_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" * (cast_expression "(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + iVar10 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + iVar10 + -1" (binary_expression "EStack_108.e_ident_magic_str + iVar10" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + identifier) + number_literal) ))))) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" ( (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10 + -1" (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10" (field_expression "pEStack_1a8->e_ident_magic_str" identifier -> field_identifier) + identifier) + number_literal) )))) ;) (do_statement "do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);" do (compound_statement "{\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  }" { (expression_statement "pEStack_1d4 = pEVar51;" (assignment_expression "pEStack_1d4 = pEVar51" identifier = identifier) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEStack_1e8[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEStack_1e8[-1].e_shstrndx + 1" (cast_expression "(int)&pEStack_1e8[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEStack_1e8[-1].e_shstrndx" & (field_expression "pEStack_1e8[-1].e_shstrndx" (subscript_expression "pEStack_1e8[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;" (assignment_expression "pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" identifier = (pointer_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1ec[-1].e_shnum" & (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);" (assignment_expression "pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" identifier = (cast_expression "(Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" ( (binary_expression "(*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2" (parenthesized_expression "(*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4)" ( (binary_expression "*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4" (pointer_expression "*(int *)&pEStack_1d4[-1].e_shnum" * (cast_expression "(int *)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) - (cast_expression "(int)pcStack_1e4" ( (type_descriptor "int" primitive_type) ) identifier)) )) * number_literal) )))) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pEStack_1d4[-1].e_shnum + -1)" ( (binary_expression "*(int *)&pEStack_1d4[-1].e_shnum + -1" (pointer_expression "*(int *)&pEStack_1d4[-1].e_shnum" * (cast_expression "(int *)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) + number_literal) )))) ;) (if_statement "if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }" if (parenthesized_expression "(*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0)" ( (binary_expression "*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0" (pointer_expression "*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" * (cast_expression "(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) == number_literal) )) (compound_statement "{\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }" { (expression_statement "(*(code *)pEStack_1f0)(auStack_cc);" (call_expression "(*(code *)pEStack_1f0)(auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1f0)" ( (pointer_expression "*(code *)pEStack_1f0" * (cast_expression "(code *)pEStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc)" ( identifier ))) ;) })) (do_statement "do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);" do (compound_statement "{\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    }" { (expression_statement "pEVar54 = pEVar51;" (assignment_expression "pEVar54 = pEVar51" identifier = identifier) ;) (if_statement "if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }" if (parenthesized_expression "(*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0)" ( (binary_expression "*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0" (pointer_expression "*(short *)(aiStack_c0[0] + (int)pEVar54 * 2)" * (cast_expression "(short *)(aiStack_c0[0] + (int)pEVar54 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar54 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar54 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar54 * 2" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) == number_literal) )) (compound_statement "{\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }" { (expression_statement "(*(code *)pEStack_1f0)(auStack_cc,pEVar54);" (call_expression "(*(code *)pEStack_1f0)(auStack_cc,pEVar54)" (parenthesized_expression "(*(code *)pEStack_1f0)" ( (pointer_expression "*(code *)pEStack_1f0" * (cast_expression "(code *)pEStack_1f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc,pEVar54)" ( identifier , identifier ))) ;) })) (if_statement "if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }" if (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar50 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }" { (expression_statement "pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;" (assignment_expression "pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" identifier = (pointer_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier))))) ;) (break_statement "break;" break ;) })) (expression_statement "uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);" (assignment_expression "uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" identifier = (pointer_expression "*(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" * (cast_expression "(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar54 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar54 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar54 * 2" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" identifier = (cast_expression "(Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" ( (binary_expression "*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2" (pointer_expression "*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" * (cast_expression "(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" ( (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + (subscript_expression "aiStack_c0[0]" identifier [ number_literal ])) + number_literal) )))) + number_literal) )))) ;) (expression_statement "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;" (assignment_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54" (pointer_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar54[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar54[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar54[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar54[-1].e_shstrndx" & (field_expression "pEVar54[-1].e_shstrndx" (subscript_expression "pEVar54[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2))" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar49 - (uVar3 + 2))" ( (binary_expression "(int)pEVar49 - (uVar3 + 2)" (cast_expression "(int)pEVar49" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(uVar3 + 2)" ( (binary_expression "uVar3 + 2" identifier + number_literal) ))) )))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar48[-1].e_shstrndx" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier)))) ;) }) while (parenthesized_expression "(-1 < (int)pEVar51)" ( (binary_expression "-1 < (int)pEVar51" number_literal < (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "*(Elf32_Ehdr **)pEStack_1ec = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEStack_1ec = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEStack_1ec" * (cast_expression "(Elf32_Ehdr **)pEStack_1ec" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;" (assignment_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49" (pointer_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" * (cast_expression "(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEStack_1ec[-1].e_shnum" & (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "pEStack_1b0 = pEVar47;" (assignment_expression "pEStack_1b0 = pEVar47" identifier = identifier) ;) (if_statement "if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }" if (parenthesized_expression "(pEStack_1e8 == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1e8 == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }" { (expression_statement "bVar4 = 0 < (int)pEVar54;" (assignment_expression "bVar4 = 0 < (int)pEVar54" identifier = (binary_expression "0 < (int)pEVar54" number_literal < (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pEVar48 = pEVar47;" (assignment_expression "pEVar48 = pEVar47" identifier = identifier) ;) (expression_statement "pEVar50 = pEVar54;" (assignment_expression "pEVar50 = pEVar54" identifier = identifier) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if (bVar4) goto LAB_000a4ef4;" if (parenthesized_expression "(bVar4)" ( identifier )) (goto_statement "goto LAB_000a4ef4;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum" identifier = (cast_expression "(Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1ec[-1].e_shnum" & (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum" identifier = (cast_expression "(Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1d4[-1].e_shnum" & (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;" (assignment_expression "iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum" (field_expression "iVar18._0_2_" identifier . field_identifier) = (field_expression "pEStack_1d4[-0xffffffff00000001].e_phnum" (subscript_expression "pEStack_1d4[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;" (assignment_expression "iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize" (field_expression "iVar18._2_2_" identifier . field_identifier) = (field_expression "pEStack_1d4[-0xffffffff00000001].e_shentsize" (subscript_expression "pEStack_1d4[-0xffffffff00000001]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pEVar50 = pEVar49;" (assignment_expression "pEVar50 = pEVar49" identifier = identifier) ;) }) while (parenthesized_expression "(iVar18 < (int)pEVar54)" ( (binary_expression "iVar18 < (int)pEVar54" identifier < (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "uVar13 = 0x114c2;" (assignment_expression "uVar13 = 0x114c2" identifier = number_literal) ;) (labeled_statement "LAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);" statement_identifier : (expression_statement "auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);" (assignment_expression "auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x75c0)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar13)" ( identifier )))) ;)) (expression_statement "pEVar47 = pEVar48;" (assignment_expression "pEVar47 = pEVar48" identifier = identifier) ;) (labeled_statement "LAB_000a443c:\n  param_2 = pEVar50;" statement_identifier : (expression_statement "param_2 = pEVar50;" (assignment_expression "param_2 = pEVar50" identifier = identifier) ;)) (expression_statement "pEVar26 = pEVar51;" (assignment_expression "pEVar26 = pEVar51" identifier = identifier) ;) (expression_statement "pEVar7 = pEVar54;" (assignment_expression "pEVar7 = pEVar54" identifier = identifier) ;) (if_statement "if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }" if (parenthesized_expression "(iStack_c4 != 0)" ( (binary_expression "iStack_c4 != 0" identifier != number_literal) )) (compound_statement "{\n    (**(code **)(puVar53 + 0xb7500))();\n  }" { (expression_statement "(**(code **)(puVar53 + 0xb7500))();" (call_expression "(**(code **)(puVar53 + 0xb7500))()" (parenthesized_expression "(**(code **)(puVar53 + 0xb7500))" ( (pointer_expression "**(code **)(puVar53 + 0xb7500)" * (pointer_expression "*(code **)(puVar53 + 0xb7500)" * (cast_expression "(code **)(puVar53 + 0xb7500)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7500)" ( (binary_expression "puVar53 + 0xb7500" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);" statement_identifier : (expression_statement "param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);" (assignment_expression "param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0)" identifier = (cast_expression "(Elf32_Ehdr *)(auStack_14c + iStack_1d0)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_14c + iStack_1d0)" ( (binary_expression "auStack_14c + iStack_1d0" identifier + identifier) )))) ;)) (expression_statement "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);" (assignment_expression "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_1 = (Elf32_Ehdr *)ppEStack_1dc;" (assignment_expression "param_1 = (Elf32_Ehdr *)ppEStack_1dc" identifier = (cast_expression "(Elf32_Ehdr *)ppEStack_1dc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);" do (compound_statement "{\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  }" { (if_statement "if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }" if (parenthesized_expression "(*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0)" ( (binary_expression "*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0" (pointer_expression "*(Elf32_Ehdr **)param_1" * (cast_expression "(Elf32_Ehdr **)param_1" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }" { (expression_statement "(*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);" (call_expression "(*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version)" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((*(Elf32_Ehdr **)param_1)[1].e_version)" ( (field_expression "(*(Elf32_Ehdr **)param_1)[1].e_version" (subscript_expression "(*(Elf32_Ehdr **)param_1)[1]" (parenthesized_expression "(*(Elf32_Ehdr **)param_1)" ( (pointer_expression "*(Elf32_Ehdr **)param_1" * (cast_expression "(Elf32_Ehdr **)param_1" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) [ number_literal ]) . field_identifier) ))) ;) })) (expression_statement "param_1 = (Elf32_Ehdr *)((int)param_1 + 4);" (assignment_expression "param_1 = (Elf32_Ehdr *)((int)param_1 + 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)param_1 + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(param_1 != param_6)" ( (binary_expression "param_1 != param_6" identifier != identifier) )) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier))) ;) (if_statement "if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }" if (parenthesized_expression "(unaff_s7 != (Elf32_Ehdr *)0x0)" ( (binary_expression "unaff_s7 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }" { (expression_statement "param_1 = (Elf32_Ehdr *)auStack_144;" (assignment_expression "param_1 = (Elf32_Ehdr *)auStack_144" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);" (assignment_expression "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" ( (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar53 + 0xb753c)" * (cast_expression "(int *)(puVar53 + 0xb753c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb753c)" ( (binary_expression "puVar53 + 0xb753c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);" (assignment_expression "param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + unaff_s7 * 4)" ( (binary_expression "(int)param_1 + unaff_s7 * 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "unaff_s7 * 4" identifier * number_literal)) )))) ;) (do_statement "do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);" do (compound_statement "{\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    }" { (if_statement "if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }" if (parenthesized_expression "(*(int *)param_1 != 0)" ( (binary_expression "*(int *)param_1 != 0" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }" { (expression_statement "(*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));" (call_expression "(*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48))" (parenthesized_expression "(*(code *)param_3)" ( (pointer_expression "*(code *)param_3" * (cast_expression "(code *)param_3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(*(int *)param_1 + 0x48))" ( (pointer_expression "*(undefined4 *)(*(int *)param_1 + 0x48)" * (cast_expression "(undefined4 *)(*(int *)param_1 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1 + 0x48)" ( (binary_expression "*(int *)param_1 + 0x48" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) ))) ;) })) (expression_statement "param_1 = (Elf32_Ehdr *)((int)param_1 + 4);" (assignment_expression "param_1 = (Elf32_Ehdr *)((int)param_1 + 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)param_1 + 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier))) ;) }) while (parenthesized_expression "(param_6 != param_1)" ( (binary_expression "param_6 != param_1" identifier != identifier) )) ;) })) (labeled_statement "LAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }" statement_identifier : (if_statement "if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }" if (parenthesized_expression "(iStack_84 == *piVar9)" ( (binary_expression "iStack_84 == *piVar9" identifier == (pointer_expression "*piVar9" * identifier)) )) (compound_statement "{\n    return pEVar48;\n  }" { (return_statement "return pEVar48;" return identifier ;) }))) (expression_statement "iVar10 = iStack_84;" (assignment_expression "iVar10 = iStack_84" identifier = identifier) ;) (expression_statement "(**(code **)(puVar53 + 0xb78f0))();" (call_expression "(**(code **)(puVar53 + 0xb78f0))()" (parenthesized_expression "(**(code **)(puVar53 + 0xb78f0))" ( (pointer_expression "**(code **)(puVar53 + 0xb78f0)" * (pointer_expression "*(code **)(puVar53 + 0xb78f0)" * (cast_expression "(code **)(puVar53 + 0xb78f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb78f0)" ( (binary_expression "puVar53 + 0xb78f0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pEVar48 = extraout_v1;" (assignment_expression "pEVar48 = extraout_v1" identifier = identifier) ;) (expression_statement "pEVar50 = param_2;" (assignment_expression "pEVar50 = param_2" identifier = identifier) ;) (expression_statement "param_2 = unaff_s7;" (assignment_expression "param_2 = unaff_s7" identifier = identifier) ;) (do_statement "do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );" do (compound_statement "{\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  }" { (if_statement "if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;" if (parenthesized_expression "((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))" ( (binary_expression "(pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)))" (parenthesized_expression "(pEVar48 <= pEVar49)" ( (binary_expression "pEVar48 <= pEVar49" identifier <= identifier) )) && (parenthesized_expression "(pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)))" ( (binary_expression "pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" identifier < (cast_expression "(Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" ( (binary_expression "pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)" (field_expression "pEStack_1c4->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar48->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar48->e_ident_magic_str + -2)" ( (binary_expression "pEVar48->e_ident_magic_str + -2" (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ))) )) (goto_statement "goto LAB_000a53d0;" goto statement_identifier ;)) (do_statement "do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));" do (compound_statement "{\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    }" { (if_statement "if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }" if (parenthesized_expression "(puStack_1e0 == (undefined1 *)0x0)" ( (binary_expression "puStack_1e0 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }" { (expression_statement "uVar31._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar31._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar31._0_1_" identifier . field_identifier) = (field_expression "pEVar49->e_ident_magic_num" identifier -> field_identifier)) ;) (expression_statement "uVar31._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar31._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar31._1_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar31._2_1_ = pEVar49->e_ident_magic_str[1];" (assignment_expression "uVar31._2_1_ = pEVar49->e_ident_magic_str[1]" (field_expression "uVar31._2_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[1]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar31._3_1_ = pEVar49->e_ident_magic_str[2];" (assignment_expression "uVar31._3_1_ = pEVar49->e_ident_magic_str[2]" (field_expression "uVar31._3_1_" identifier . field_identifier) = (subscript_expression "pEVar49->e_ident_magic_str[2]" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar36._0_1_ = param_6->e_ident_class;" (assignment_expression "uVar36._0_1_ = param_6->e_ident_class" (field_expression "uVar36._0_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_class" identifier -> field_identifier)) ;) (expression_statement "uVar36._1_1_ = param_6->e_ident_data;" (assignment_expression "uVar36._1_1_ = param_6->e_ident_data" (field_expression "uVar36._1_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_data" identifier -> field_identifier)) ;) (expression_statement "uVar36._2_1_ = param_6->e_ident_version;" (assignment_expression "uVar36._2_1_ = param_6->e_ident_version" (field_expression "uVar36._2_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_version" identifier -> field_identifier)) ;) (expression_statement "uVar36._3_1_ = param_6->e_ident_osabi;" (assignment_expression "uVar36._3_1_ = param_6->e_ident_osabi" (field_expression "uVar36._3_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_osabi" identifier -> field_identifier)) ;) (expression_statement "FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);" (call_expression "FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188)" identifier (argument_list "(pEVar7,uVar31,5,uVar36,auStack_188)" ( identifier , identifier , number_literal , identifier , identifier ))) ;) })) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + (int)pEVar47 * 2)" ( (binary_expression "aiStack_c0[0] + (int)pEVar47 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "(int)pEVar47 * 2" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (if_statement "if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }" { (expression_statement "uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);" (assignment_expression "uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47)" identifier = (call_expression "(*(code *)pEStack_1b8)(auStack_cc,pEVar47)" (parenthesized_expression "(*(code *)pEStack_1b8)" ( (pointer_expression "*(code *)pEStack_1b8" * (cast_expression "(code *)pEStack_1b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_cc,pEVar47)" ( identifier , identifier )))) ;) })) (if_statement "if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }" if (parenthesized_expression "(param_6->e_type < uVar25)" ( (binary_expression "param_6->e_type < uVar25" (field_expression "param_6->e_type" identifier -> field_identifier) < identifier) )) (compound_statement "{\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }" { (expression_statement "(*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);" (call_expression "(*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188)" (parenthesized_expression "(*(code *)pbStack_1c0)" ( (pointer_expression "*(code *)pbStack_1c0" * (cast_expression "(code *)pbStack_1c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188)" ( identifier , (pointer_expression "&param_1[1].e_ident_abiversion" & (field_expression "param_1[1].e_ident_abiversion" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier)) , identifier , identifier ))) ;) })) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (labeled_statement "LAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);" statement_identifier : (do_statement "do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);" do (compound_statement "{\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      }" { (expression_statement "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar47->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar42 = pEStack_1b0;" (assignment_expression "pEVar42 = pEStack_1b0" identifier = identifier) ;) (if_statement "if (iVar10 <= (int)pEVar47) goto LAB_000a5474;" if (parenthesized_expression "(iVar10 <= (int)pEVar47)" ( (binary_expression "iVar10 <= (int)pEVar47" identifier <= (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000a5474;" goto statement_identifier ;)) (labeled_statement "LAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);" statement_identifier : (expression_statement "pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);" (assignment_expression "pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" * (cast_expression "(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_c4 + (int)pEVar47 * 4)" ( (binary_expression "iStack_c4 + (int)pEVar47 * 4" identifier + (binary_expression "(int)pEVar47 * 4" (cast_expression "(int)pEVar47" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;)) (if_statement "if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }" if (parenthesized_expression "(pEVar47 == pEStack_1f0)" ( (binary_expression "pEVar47 == pEStack_1f0" identifier == identifier) )) (compound_statement "{\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }" { (expression_statement "param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;" (assignment_expression "param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)param_3->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "param_3->e_ident_magic_str" identifier -> field_identifier))) ;) (if_statement "if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" if (parenthesized_expression "((int)param_3 < (int)pEVar50)" ( (binary_expression "(int)param_3 < (int)pEVar50" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }" { (expression_statement "param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);" (assignment_expression "param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" ( (binary_expression "auStack_144 + (int)((int)param_3 + -1) * 4 + 4" (binary_expression "auStack_144 + (int)((int)param_3 + -1) * 4" identifier + (binary_expression "(int)((int)param_3 + -1) * 4" (cast_expression "(int)((int)param_3 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)param_3 + -1)" ( (binary_expression "(int)param_3 + -1" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) * number_literal)) + number_literal) ))))) ;) }) (else_clause "else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" else (compound_statement "{\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" { (expression_statement "param_1 = (&pEStack_150)[(int)param_3];" (assignment_expression "param_1 = (&pEStack_150)[(int)param_3]" identifier = (subscript_expression "(&pEStack_150)[(int)param_3]" (parenthesized_expression "(&pEStack_150)" ( (pointer_expression "&pEStack_150" & identifier) )) [ (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) }))) (expression_statement "pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;" (assignment_expression "pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&param_1[1].e_ident_class" * (cast_expression "(Elf32_Ehdr **)&param_1[1].e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&param_1[1].e_ident_class" & (field_expression "param_1[1].e_ident_class" (subscript_expression "param_1[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" identifier = (cast_expression "(Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" ( (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0)" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3]" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version" (field_expression "pEStack_1f0->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(uint)(ushort)param_1->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)param_1->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "param_1->e_version" identifier -> field_identifier)))) + (cast_expression "(uint)param_1->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) + (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) + number_literal) )))) ;) })) (if_statement "if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;" if (parenthesized_expression "(*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47)" ( (binary_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47" (pointer_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8)" * (cast_expression "(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_130 + (int)pEStack_1c8)" ( (binary_expression "auStack_130 + (int)pEStack_1c8" identifier + (cast_expression "(int)pEStack_1c8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) != identifier) )) (break_statement "break;" break ;)) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEStack_1d4->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_1d4 * 4)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1d4 * 4)" ( (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);" (assignment_expression "param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_144 + (int)pEStack_1d4 * 4)" ( (binary_expression "auStack_144 + (int)pEStack_1d4 * 4" identifier + (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) }) while (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;)) }) while (parenthesized_expression "(((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)))" ( (binary_expression "((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb))" (parenthesized_expression "((int)pEVar50 <= (int)param_3)" ( (binary_expression "(int)pEVar50 <= (int)param_3" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb))" ( (comma_expression "iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._0_1_ = param_6->e_ident_class" (field_expression "iVar35._0_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_class" identifier -> field_identifier)) , (comma_expression "iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._1_1_ = param_6->e_ident_data" (field_expression "iVar35._1_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_data" identifier -> field_identifier)) , (comma_expression "iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._2_1_ = param_6->e_ident_version" (field_expression "iVar35._2_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_version" identifier -> field_identifier)) , (comma_expression "iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._3_1_ = param_6->e_ident_osabi" (field_expression "iVar35._3_1_" identifier . field_identifier) = (field_expression "param_6->e_ident_osabi" identifier -> field_identifier)) , (comma_expression "pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "pEVar48 = pEStack_1e8" identifier = identifier) , (binary_expression "iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" identifier != (pointer_expression "*(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" * (cast_expression "(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" ( (binary_expression "EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb" (binary_expression "EStack_108.e_ident_pad + (int)param_3 * 4" (field_expression "EStack_108.e_ident_pad" identifier . field_identifier) + (binary_expression "(int)param_3 * 4" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))))))))) ))) )) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_000a46e0:\n  uVar13 = 0x11403;" statement_identifier : (expression_statement "uVar13 = 0x11403;" (assignment_expression "uVar13 = 0x11403" identifier = number_literal) ;)) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1f0 = &EStack_108;" (assignment_expression "pEStack_1f0 = &EStack_108" identifier = (pointer_expression "&EStack_108" & identifier)) ;) (expression_statement "pEStack_1e8 = pEVar7;" (assignment_expression "pEStack_1e8 = pEVar7" identifier = identifier) ;) (expression_statement "pEStack_1d4 = pEVar26;" (assignment_expression "pEStack_1d4 = pEVar26" identifier = identifier) ;) (goto_statement "goto LAB_000a46ec;" goto statement_identifier ;) (labeled_statement "LAB_000a5474:\n  unaff_s7 = pEVar50;" statement_identifier : (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" identifier = identifier) ;)) (if_statement "if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }" if (parenthesized_expression "(pEVar42 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar42 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }" { (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)0x0" identifier = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" ( (binary_expression "pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2)" (field_expression "pEVar42->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEStack_54->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEStack_54->e_ident_magic_str + -2)" ( (binary_expression "pEStack_54->e_ident_magic_str + -2" (field_expression "pEStack_54->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_188;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_188" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb75e4);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb75e4)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb75e4)" * (cast_expression "(int *)(puVar53 + 0xb75e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75e4)" ( (binary_expression "puVar53 + 0xb75e4" identifier + number_literal) ))))) ;) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb75b8) + 0x54)" ( (binary_expression "*(int *)(puVar53 + 0xb75b8) + 0x54" (pointer_expression "*(int *)(puVar53 + 0xb75b8)" * (cast_expression "(int *)(puVar53 + 0xb75b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb75b8)" ( (binary_expression "puVar53 + 0xb75b8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar48 = pEStack_54;" (assignment_expression "pEVar48 = pEStack_54" identifier = identifier) ;) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" identifier = identifier) ;) (do_statement "do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);" do (compound_statement "{\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    }" { (expression_statement "pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );" (assignment_expression "pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" identifier = (cast_expression "(byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" ( (binary_expression "pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)" (field_expression "pEStack_1f0->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEStack_1d8->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + -2)" ( (binary_expression "pEStack_1d8->e_ident_magic_str + -2" (field_expression "pEStack_1d8->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "pEVar47 = *(Elf32_Ehdr **)pEVar49;" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)pEVar49" identifier = (pointer_expression "*(Elf32_Ehdr **)pEVar49" * (cast_expression "(Elf32_Ehdr **)pEVar49" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);" (assignment_expression "puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4)" identifier = (cast_expression "(undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_c4 + *(int *)pEStack_1a8 * 4)" ( (binary_expression "iStack_c4 + *(int *)pEStack_1a8 * 4" identifier + (binary_expression "*(int *)pEStack_1a8 * 4" (pointer_expression "*(int *)pEStack_1a8" * (cast_expression "(int *)pEStack_1a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) )))) ;) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" identifier = (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" ( (binary_expression "aiStack_c0[0] + *(int *)pEStack_1a8 * 2" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + (binary_expression "*(int *)pEStack_1a8 * 2" (pointer_expression "*(int *)pEStack_1a8" * (cast_expression "(int *)pEStack_1a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) * number_literal)) ))))) ;) (expression_statement "pbVar34 = (byte *)*puVar29;" (assignment_expression "pbVar34 = (byte *)*puVar29" identifier = (cast_expression "(byte *)*puVar29" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar29" * identifier))) ;) (expression_statement "puVar17 = puStack_1e0 + uVar25;" (assignment_expression "puVar17 = puStack_1e0 + uVar25" identifier = (binary_expression "puStack_1e0 + uVar25" identifier + identifier)) ;) (if_statement "if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" if (parenthesized_expression "(pEVar47->e_ident_abiversion == 0)" ( (binary_expression "pEVar47->e_ident_abiversion == 0" (field_expression "pEVar47->e_ident_abiversion" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }" { (expression_statement "uVar32 = *(uint *)pbVar34;" (assignment_expression "uVar32 = *(uint *)pbVar34" identifier = (pointer_expression "*(uint *)pbVar34" * (cast_expression "(uint *)pbVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar44 = *(int *)&pEVar47[1].e_ident_class;" (assignment_expression "iVar44 = *(int *)&pEVar47[1].e_ident_class" identifier = (pointer_expression "*(int *)&pEVar47[1].e_ident_class" * (cast_expression "(int *)&pEVar47[1].e_ident_class" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47[1].e_ident_class" & (field_expression "pEVar47[1].e_ident_class" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar25 = iVar44 + 8;" (assignment_expression "uVar25 = iVar44 + 8" identifier = (binary_expression "iVar44 + 8" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;" (assignment_expression "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "-1 << (4 - uVar23) * 8" number_literal << (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" ( (binary_expression "4 - uVar23" number_literal - identifier) )) * number_literal))) | (binary_expression "uVar32 >> uVar23 * 8" identifier >> (binary_expression "uVar23 * 8" identifier * number_literal)))) ;) (expression_statement "uVar25 = iVar44 + 0xb;" (assignment_expression "uVar25 = iVar44 + 0xb" identifier = (binary_expression "iVar44 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" identifier = (binary_expression "uVar25 & 3" identifier & number_literal)) ;) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" identifier = (cast_expression "(uint *)(uVar25 - uVar23)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 - uVar23)" ( (binary_expression "uVar25 - uVar23" identifier - identifier) )))) ;) (expression_statement "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;" (assignment_expression "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8" (pointer_expression "*puVar12" * identifier) & (binary_expression "0xffffffffU >> (uVar23 + 1) * 8" number_literal >> (binary_expression "(uVar23 + 1) * 8" (parenthesized_expression "(uVar23 + 1)" ( (binary_expression "uVar23 + 1" identifier + number_literal) )) * number_literal))) | (binary_expression "uVar32 << (3 - uVar23) * 8" identifier << (binary_expression "(3 - uVar23) * 8" (parenthesized_expression "(3 - uVar23)" ( (binary_expression "3 - uVar23" number_literal - identifier) )) * number_literal)))) ;) }) (else_clause "else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" else (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" if (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }" { (expression_statement "pbVar34 = pbVar34 + -4;" (assignment_expression "pbVar34 = pbVar34 + -4" identifier = (binary_expression "pbVar34 + -4" identifier + number_literal)) ;) (if_statement "if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }" if (parenthesized_expression "(uVar25 == 4)" ( (binary_expression "uVar25 == 4" identifier == number_literal) )) (compound_statement "{\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }" { (expression_statement "puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);" (assignment_expression "puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" identifier = (cast_expression "(undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" (parenthesized_expression "(*(code *)pEVar26[1].e_entry)" ( (pointer_expression "*(code *)pEVar26[1].e_entry" * (cast_expression "(code *)pEVar26[1].e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar26[1].e_entry" (subscript_expression "pEVar26[1]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(pEVar26,pbVar34)" ( identifier , identifier ))))) ;) (expression_statement "pbStack_1c0 = pbVar34;" (assignment_expression "pbStack_1c0 = pbVar34" identifier = identifier) ;) })) }) (else_clause "else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" else (compound_statement "{\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" { (expression_statement "(*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);" (call_expression "(*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180)" (parenthesized_expression "(*(code *)pEVar47[1].e_phoff)" ( (pointer_expression "*(code *)pEVar47[1].e_phoff" * (cast_expression "(code *)pEVar47[1].e_phoff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar47[1].e_phoff" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))) )) (argument_list "(pEVar47,puVar29[-1],auStack_180)" ( identifier , (subscript_expression "puVar29[-1]" identifier [ number_literal ]) , identifier ))) ;) (if_statement "if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" if (parenthesized_expression "(((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80))" ( (binary_expression "((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)" (parenthesized_expression "((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_180._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_180._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((uint)auStack_180._4_4_ < 0x80)" ( (binary_expression "(uint)auStack_180._4_4_ < 0x80" (cast_expression "(uint)auStack_180._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_180._4_4_" identifier . field_identifier)) < number_literal) ))) )) (compound_statement "{\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }" { (expression_statement "pbVar37[4] = (byte)auStack_180._4_4_;" (assignment_expression "pbVar37[4] = (byte)auStack_180._4_4_" (subscript_expression "pbVar37[4]" identifier [ number_literal ]) = (cast_expression "(byte)auStack_180._4_4_" ( (type_descriptor "byte" type_identifier) ) (field_expression "auStack_180._4_4_" identifier . field_identifier))) ;) (expression_statement "iVar44 = 1;" (assignment_expression "iVar44 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" else (compound_statement "{\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" { (expression_statement "iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);" (assignment_expression "iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4)" identifier = (call_expression "(*(code *)pEStack_1c4)(pbVar37 + 4)" (parenthesized_expression "(*(code *)pEStack_1c4)" ( (pointer_expression "*(code *)pEStack_1c4" * (cast_expression "(code *)pEStack_1c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar37 + 4)" ( (binary_expression "pbVar37 + 4" identifier + number_literal) )))) ;) }))) (expression_statement "puVar17 = (undefined1 *)(iVar44 + 4);" (assignment_expression "puVar17 = (undefined1 *)(iVar44 + 4)" identifier = (cast_expression "(undefined1 *)(iVar44 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 4)" ( (binary_expression "iVar44 + 4" identifier + number_literal) )))) ;) (expression_statement "pbVar34 = pbVar37;" (assignment_expression "pbVar34 = pbVar37" identifier = identifier) ;) (expression_statement "pbVar37 = (byte *)0x0;" (assignment_expression "pbVar37 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))) (expression_statement "uVar38._0_1_ = pEVar47->e_ident_class;" (assignment_expression "uVar38._0_1_ = pEVar47->e_ident_class" (field_expression "uVar38._0_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_class" identifier -> field_identifier)) ;) (expression_statement "uVar38._1_1_ = pEVar47->e_ident_data;" (assignment_expression "uVar38._1_1_ = pEVar47->e_ident_data" (field_expression "uVar38._1_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_data" identifier -> field_identifier)) ;) (expression_statement "uVar38._2_1_ = pEVar47->e_ident_version;" (assignment_expression "uVar38._2_1_ = pEVar47->e_ident_version" (field_expression "uVar38._2_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_version" identifier -> field_identifier)) ;) (expression_statement "uVar38._3_1_ = pEVar47->e_ident_osabi;" (assignment_expression "uVar38._3_1_ = pEVar47->e_ident_osabi" (field_expression "uVar38._3_1_" identifier . field_identifier) = (field_expression "pEVar47->e_ident_osabi" identifier -> field_identifier)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" identifier = (cast_expression "(Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" ( (binary_expression "pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1)" (field_expression "pEStack_1f0->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(puVar17 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar17 + -1)" ( (binary_expression "puVar17 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);" (call_expression "(*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8)" (parenthesized_expression "(*(code *)(iVar10 + 0x3cd0))" ( (pointer_expression "*(code *)(iVar10 + 0x3cd0)" * (cast_expression "(code *)(iVar10 + 0x3cd0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x3cd0)" ( (binary_expression "iVar10 + 0x3cd0" identifier + number_literal) )))) )) (argument_list "(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) ;) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) ;) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar10 + 0x3cd0)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x3cd0)" ( (binary_expression "iVar10 + 0x3cd0" identifier + number_literal) )))) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;)) (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEStack_1a8->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_1a8->e_ident_class" & (field_expression "pEStack_1a8->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar49->e_ident_class" & (field_expression "pEVar49->e_ident_class" identifier -> field_identifier)))) ;) }) while (parenthesized_expression "(pEVar48 != pEStack_1d4)" ( (binary_expression "pEVar48 != pEStack_1d4" identifier != identifier) )) ;) })) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)auStack_180;" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)auStack_180" identifier = (cast_expression "(Elf32_Ehdr *)auStack_180" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50" identifier = (cast_expression "(Elf32_Ehdr *)-(int)pEVar50" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pEVar50" - (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x543c)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x543c" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);" (assignment_expression "pbStack_1c0 = *(byte **)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(byte **)(puVar53 + 0xb7620)" * (cast_expression "(byte **)(puVar53 + 0xb7620)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_1f0 + 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1f0 + 2)" ( (binary_expression "(int)pEStack_1f0 + 2" (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5114)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5114" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" identifier = (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) ))))) ;) (expression_statement "pEVar47 = pEStack_1c4;" (assignment_expression "pEVar47 = pEStack_1c4" identifier = identifier) ;) (do_statement "do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );" do (compound_statement "{\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  }" { (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_1f0 + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_1f0 + 1)" ( (binary_expression "(int)pEStack_1f0 + 1" (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pEVar48 = pEStack_1f0;" (assignment_expression "pEVar48 = pEStack_1f0" identifier = identifier) ;) (if_statement "if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }" if (parenthesized_expression "((int)pEStack_1f0 < 0)" ( (binary_expression "(int)pEStack_1f0 < 0" (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0" identifier = (cast_expression "(Elf32_Ehdr *)-(int)pEStack_1f0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-(int)pEStack_1f0" - (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "pEStack_1c8 = pEVar50;" (assignment_expression "pEStack_1c8 = pEVar50" identifier = identifier) ;) (if_statement "if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" if (parenthesized_expression "(*(char *)((int)&uStack_8c + (int)pEVar48) == '\0')" ( (binary_expression "*(char *)((int)&uStack_8c + (int)pEVar48) == '\0'" (pointer_expression "*(char *)((int)&uStack_8c + (int)pEVar48)" * (cast_expression "(char *)((int)&uStack_8c + (int)pEVar48)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_8c + (int)pEVar48)" ( (binary_expression "(int)&uStack_8c + (int)pEVar48" (cast_expression "(int)&uStack_8c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_8c" & identifier)) + (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }" { (if_statement "if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }" if (parenthesized_expression "(-1 < (int)pEStack_1f0)" ( (binary_expression "-1 < (int)pEStack_1f0" number_literal < (cast_expression "(int)pEStack_1f0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }" { (if_statement "if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;" if (parenthesized_expression "(pEStack_1f0 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_1f0 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a569c;" goto statement_identifier ;)) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);" (assignment_expression "pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" identifier = (binary_expression "(char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" (cast_expression "(char *)(uint)(ushort)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier )))) * (cast_expression "(dword *)(auStack_144._0_4_ + 0x14)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x14)" ( (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" identifier = (cast_expression "(Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" ( (binary_expression "*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2" (pointer_expression "*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" * (cast_expression "(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" ( (binary_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3" (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) + number_literal) )))) + (binary_expression "auStack_130._0_4_ * 2" (field_expression "auStack_130._0_4_" identifier . field_identifier) * number_literal)) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9)" identifier = (binary_expression "(Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9)" (cast_expression "(Elf32_Ehdr *)(uint)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(auStack_144._0_4_ + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 9)" ( (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" * (cast_expression "(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" & (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x34)" ( (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))))) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" ( (binary_expression "pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]" identifier + (subscript_expression "((byte *)(auStack_144._0_4_ + 9))[3]" (parenthesized_expression "((byte *)(auStack_144._0_4_ + 9))" ( (cast_expression "(byte *)(auStack_144._0_4_ + 9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 9)" ( (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) ))) )) [ number_literal ])) )))) ;) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" identifier = number_literal) ;) (expression_statement "pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;" (assignment_expression "pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_130._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_130._0_4_" identifier . field_identifier))) ;) (expression_statement "pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_144._0_4_" identifier . field_identifier))) ;) (expression_statement "pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_" identifier = (cast_expression "(Elf32_Ehdr *)auStack_130._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_130._0_4_" identifier . field_identifier))) ;) (goto_statement "goto LAB_000a5774;" goto statement_identifier ;) })) (expression_statement "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (if_statement "if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }" if (parenthesized_expression "(*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14))" ( (binary_expression "*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4)" ( (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) <= (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (binary_expression "auStack_130 + (int)puVar17 * 4 + 0x14" (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) )) (compound_statement "{\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }" { (labeled_statement "LAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" statement_identifier : (expression_statement "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" identifier = (cast_expression "(undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;)) (expression_statement "iVar20 = auStack_cc._0_4_;" (assignment_expression "iVar20 = auStack_cc._0_4_" identifier = (field_expression "auStack_cc._0_4_" identifier . field_identifier)) ;) (if_statement "if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }" if (parenthesized_expression "((int)pEVar48 < (int)pcStack_1bc)" ( (binary_expression "(int)pEVar48 < (int)pcStack_1bc" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }" { (expression_statement "iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);" (assignment_expression "iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" identifier = (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) + (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4 + 0x14)" ( (binary_expression "auStack_130 + (int)puVar17 * 4 + 0x14" (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) )))))) ;) })) (expression_statement "pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" ( (binary_expression "auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4" (binary_expression "auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4" identifier + (binary_expression "(int)((int)&pEVar48[-1].e_shstrndx + 1) * 4" (cast_expression "(int)((int)&pEVar48[-1].e_shstrndx + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar48[-1].e_shstrndx" & (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) * number_literal)) + number_literal) ))))) ;) (expression_statement "pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);" (assignment_expression "pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" identifier = (pointer_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" * (cast_expression "(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(auStack_130 + (int)pEVar48 * 4)" ( (binary_expression "auStack_130 + (int)pEVar48 * 4" identifier + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);" (assignment_expression "iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4)" identifier = (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcStack_1e4 == (code *)0x0)" ( (binary_expression "pcStack_1e4 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) + (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4)" * (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_130 + (int)puVar17 * 4)" ( (binary_expression "auStack_130 + (int)puVar17 * 4" identifier + (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))))) ;) (expression_statement "pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;" (assignment_expression "pcVar46 = (char *)(uint)(ushort)pEVar47->e_version" identifier = (cast_expression "(char *)(uint)(ushort)pEVar47->e_version" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(ushort)pEVar47->e_version" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)pEVar47->e_version" ( (type_descriptor "ushort" type_identifier) ) (field_expression "pEVar47->e_version" identifier -> field_identifier))))) ;) (expression_statement "pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);" (assignment_expression "pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEVar54 - iVar44)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar54 - iVar44)" ( (binary_expression "(int)pEVar54 - iVar44" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0]" identifier = (cast_expression "(Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0]" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pEVar47->e_ident_pad[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[0]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ])))) ;) (expression_statement "pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class" identifier = (pointer_expression "*(Elf32_Ehdr **)&pEVar47[1].e_ident_class" * (cast_expression "(Elf32_Ehdr **)&pEVar47[1].e_ident_class" ( (type_descriptor "Elf32_Ehdr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pEVar47[1].e_ident_class" & (field_expression "pEVar47[1].e_ident_class" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" identifier = (cast_expression "(Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" ( (binary_expression "*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2" (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "(int)pEVar42 * 2" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" identifier = (cast_expression "(Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" ( (binary_expression "pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20" (binary_expression "pcVar46 + (uint)pEVar47->e_ident_pad[3]" identifier + (cast_expression "(uint)pEVar47->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) + identifier) )))) ;) (if_statement "if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" if (parenthesized_expression "(iVar20 < iVar44)" ( (binary_expression "iVar20 < iVar44" identifier < identifier) )) (compound_statement "{\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }" { (expression_statement "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);" (assignment_expression "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" identifier = (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" ( (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" * (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + -0x5e24)" ( (binary_expression "pbStack_1c0 + -0x5e24" identifier + number_literal) )))) )) (argument_list "(pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" ( identifier , identifier , (binary_expression "iVar44 - iVar20" identifier - identifier) , (pointer_expression "&iStack_c4" & identifier) , identifier )))) ;) (expression_statement "pEStack_1b8 = pEVar11;" (assignment_expression "pEStack_1b8 = pEVar11" identifier = identifier) ;) (if_statement "if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }" if (parenthesized_expression "(iVar18 <= (int)pcVar46)" ( (binary_expression "iVar18 <= (int)pcVar46" identifier <= (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }" { (expression_statement "iVar35 = (int)pcVar46 << 1;" (assignment_expression "iVar35 = (int)pcVar46 << 1" identifier = (binary_expression "(int)pcVar46 << 1" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pcVar46 = pcVar46 + -iVar18;" (assignment_expression "pcVar46 = pcVar46 + -iVar18" identifier = (binary_expression "pcVar46 + -iVar18" identifier + (unary_expression "-iVar18" - identifier))) ;) (expression_statement "(**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);" (call_expression "(**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" ( (pointer_expression "**(code **)(puVar53 + 0xb791c)" * (pointer_expression "*(code **)(puVar53 + 0xb791c)" * (cast_expression "(code **)(puVar53 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb791c)" ( (binary_expression "puVar53 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35)" ( (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) , (binary_expression "*(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2" (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) )))) + (binary_expression "iVar18 * 2" identifier * number_literal)) , identifier ))) ;) (goto_statement "goto LAB_000a5774;" goto statement_identifier ;) })) (expression_statement "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);" (assignment_expression "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(iVar10 + -0x75c0))(0x111f9)" (parenthesized_expression "(*(code *)(iVar10 + -0x75c0))" ( (pointer_expression "*(code *)(iVar10 + -0x75c0)" * (cast_expression "(code *)(iVar10 + -0x75c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -0x75c0)" ( (binary_expression "iVar10 + -0x75c0" identifier + number_literal) )))) )) (argument_list "(0x111f9)" ( number_literal )))) ;) (labeled_statement "LAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" statement_identifier : (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" else (compound_statement "{\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" { (labeled_statement "LAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" statement_identifier : (if_statement "if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" if (parenthesized_expression "((int)pEVar54 < (int)pEVar11)" ( (binary_expression "(int)pEVar54 < (int)pEVar11" (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" { (expression_statement "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);" (assignment_expression "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" identifier = (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" ( (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" * (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_1c0 + -0x5e24)" ( (binary_expression "pbStack_1c0 + -0x5e24" identifier + number_literal) )))) )) (argument_list "(pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" ( identifier , identifier , (binary_expression "(int)pEVar11 - (int)pEVar54" (cast_expression "(int)pEVar11" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pEVar54" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "&iStack_c4" & identifier) , identifier )))) ;) (expression_statement "pcVar46 = pcVar46 + -iVar18;" (assignment_expression "pcVar46 = pcVar46 + -iVar18" identifier = (binary_expression "pcVar46 + -iVar18" identifier + (unary_expression "-iVar18" - identifier))) ;) }))) (expression_statement "pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));" (assignment_expression "pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" identifier = (cast_expression "(Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" ( (binary_expression "&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1)" (pointer_expression "&pEStack_1d8->e_ident_version" & (field_expression "pEStack_1d8->e_ident_version" identifier -> field_identifier)) + (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" ( (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )))) ;) (expression_statement "auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);" (assignment_expression "auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" (field_expression "auStack_180._0_4_" identifier . field_identifier) = (binary_expression "pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + (parenthesized_expression "(CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" ( (binary_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff" (binary_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1" (call_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num)" identifier (argument_list "((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num)" ( (subscript_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)]" (parenthesized_expression "(&pEStack_1d8->e_ident_data)" ( (pointer_expression "&pEStack_1d8->e_ident_data" & (field_expression "pEStack_1d8->e_ident_data" identifier -> field_identifier)) )) [ (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" ( (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) ]) , (field_expression "pEStack_1b0->e_ident_magic_num" identifier -> field_identifier) ))) - number_literal) & number_literal) )))) ;) (if_statement "if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }" if (parenthesized_expression "((uint)auStack_180._0_4_ < pEVar49)" ( (binary_expression "(uint)auStack_180._0_4_ < pEVar49" (cast_expression "(uint)auStack_180._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_180._0_4_" identifier . field_identifier)) < identifier) )) (compound_statement "{\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }" { (labeled_statement "LAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" statement_identifier : (if_statement "if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" if (parenthesized_expression "(0 < (int)pEVar42)" ( (binary_expression "0 < (int)pEVar42" number_literal < (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" { (labeled_statement "LAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);" statement_identifier : (expression_statement "pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(iVar44 << 1)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar44 << 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 << 1)" ( (binary_expression "iVar44 << 1" identifier << number_literal) )))) ;)) (expression_statement "pEVar54 = pEVar42;" (assignment_expression "pEVar54 = pEVar42" identifier = identifier) ;) (do_statement "do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);" do (compound_statement "{\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              }" { (expression_statement "iVar20 = aiStack_c0[0] + -1;" (assignment_expression "iVar20 = aiStack_c0[0] + -1" identifier = (binary_expression "aiStack_c0[0] + -1" (subscript_expression "aiStack_c0[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }" if (parenthesized_expression "(*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0)" ( (binary_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0" (pointer_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20)" * (cast_expression "(short *)(pEVar49->e_ident_magic_str + iVar20)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + iVar20)" ( (binary_expression "pEVar49->e_ident_magic_str + iVar20" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + identifier) )))) == number_literal) )) (compound_statement "{\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }" { (expression_statement "sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );" (assignment_expression "sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" identifier = (call_expression "(*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" (parenthesized_expression "(*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)" ( (pointer_expression "*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" * (cast_expression "(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" (parenthesized_expression "((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))" ( (cast_expression "(Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_cc._4_4_ + 0x34)" ( (binary_expression "auStack_cc._4_4_ + 0x34" (field_expression "auStack_cc._4_4_" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) )) (argument_list "(auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" ( (field_expression "auStack_cc._4_4_" identifier . field_identifier) , (pointer_expression "*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)" * (cast_expression "(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_c4 + (int)pEVar49 * 2)" ( (binary_expression "iStack_c4 + (int)pEVar49 * 2" identifier + (binary_expression "(int)pEVar49 * 2" (cast_expression "(int)pEVar49" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) )))) ;) (expression_statement "*(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;" (assignment_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21" (pointer_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20)" * (cast_expression "(short *)(pEVar49->e_ident_magic_str + iVar20)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + iVar20)" ( (binary_expression "pEVar49->e_ident_magic_str + iVar20" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + identifier) )))) = identifier) ;) })) (expression_statement "pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);" (assignment_expression "pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" identifier = (cast_expression "(Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar54[-1].e_shstrndx + 1)" ( (binary_expression "(int)&pEVar54[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar54[-1].e_shstrndx" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar54[-1].e_shstrndx" & (field_expression "pEVar54[-1].e_shstrndx" (subscript_expression "pEVar54[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" identifier = (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" ( (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pEVar54 != (Elf32_Ehdr *)0x0)" ( (binary_expression "pEVar54 != (Elf32_Ehdr *)0x0" identifier != (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "pEVar54 = (Elf32_Ehdr *)auStack_cc;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)auStack_cc" identifier = (cast_expression "(Elf32_Ehdr *)auStack_cc" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);" (assignment_expression "auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47)" (parenthesized_expression "(*(code *)pEStack_1a8)" ( (pointer_expression "*(code *)pEStack_1a8" * (cast_expression "(code *)pEStack_1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar54,iVar44,pEVar42,pEVar47)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_000a5b00;" goto statement_identifier ;) })) (if_statement "if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }" if (parenthesized_expression "(iVar44 < iVar20)" ( (binary_expression "iVar44 < iVar20" identifier < identifier) )) (compound_statement "{\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }" { (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" identifier = (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44)" identifier = (cast_expression "(Elf32_Ehdr *)(iVar20 - iVar44)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 - iVar44)" ( (binary_expression "iVar20 - iVar44" identifier - identifier) )))) ;) (if_statement "if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }" if (parenthesized_expression "((int)pEVar42 < iVar20 - iVar44)" ( (binary_expression "(int)pEVar42 < iVar20 - iVar44" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "iVar20 - iVar44" identifier - identifier)) )) (compound_statement "{\n              pEStack_1b8 = pEVar42;\n            }" { (expression_statement "pEStack_1b8 = pEVar42;" (assignment_expression "pEStack_1b8 = pEVar42" identifier = identifier) ;) })) (expression_statement "(**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;" (call_expression "(**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" ( (pointer_expression "**(code **)(puVar53 + 0xb791c)" * (pointer_expression "*(code **)(puVar53 + 0xb791c)" * (cast_expression "(code **)(puVar53 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb791c)" ( (binary_expression "puVar53 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)" ( (binary_expression "iVar18 + (int)pEStack_1b8 * 2" identifier + (binary_expression "(int)pEStack_1b8 * 2" (cast_expression "(int)pEStack_1b8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , identifier , (binary_expression "(int)pcVar46 << 1" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))) ;) (expression_statement "iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);" (assignment_expression "iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" identifier = (call_expression "(*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar18 != 0) goto LAB_000a5a94;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a94;" goto statement_identifier ;)) (expression_statement "pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);" (assignment_expression "pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1)" identifier = (binary_expression "pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1)" (field_expression "pEStack_1b8->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pcVar46 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar46 + -1)" ( (binary_expression "pcVar46 + -1" identifier + number_literal) ))))) ;) })) (expression_statement "uVar25 = (uint)pEVar47->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)pEVar47->e_ident_pad[3]" identifier = (cast_expression "(uint)pEVar47->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" identifier = (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (if_statement "if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }" { (expression_statement "puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);" (assignment_expression "puVar41 = (ushort *)((int)&pEVar47->e_entry + 2)" identifier = (cast_expression "(ushort *)((int)&pEVar47->e_entry + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar47->e_entry + 2)" ( (binary_expression "(int)&pEVar47->e_entry + 2" (cast_expression "(int)&pEVar47->e_entry" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar47->e_entry" & (field_expression "pEVar47->e_entry" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (do_statement "do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);" do (compound_statement "{\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            }" { (expression_statement "uVar3 = *puVar41;" (assignment_expression "uVar3 = *puVar41" identifier = (pointer_expression "*puVar41" * identifier)) ;) (expression_statement "iVar19 = ((uint)uVar3 + iVar20) - iVar44;" (assignment_expression "iVar19 = ((uint)uVar3 + iVar20) - iVar44" identifier = (binary_expression "((uint)uVar3 + iVar20) - iVar44" (parenthesized_expression "((uint)uVar3 + iVar20)" ( (binary_expression "(uint)uVar3 + iVar20" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier) )) - identifier)) ;) (expression_statement "pEStack_1b8 = pEVar48;" (assignment_expression "pEStack_1b8 = pEVar48" identifier = identifier) ;) (if_statement "if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }" if (parenthesized_expression "((-1 < iVar19) && (iVar19 < (int)pEVar42))" ( (binary_expression "(-1 < iVar19) && (iVar19 < (int)pEVar42)" (parenthesized_expression "(-1 < iVar19)" ( (binary_expression "-1 < iVar19" number_literal < identifier) )) && (parenthesized_expression "(iVar19 < (int)pEVar42)" ( (binary_expression "iVar19 < (int)pEVar42" identifier < (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }" { (expression_statement "iVar18 = iVar18 + iVar19 * 2;" (assignment_expression "iVar18 = iVar18 + iVar19 * 2" identifier = (binary_expression "iVar18 + iVar19 * 2" identifier + (binary_expression "iVar19 * 2" identifier * number_literal))) ;) (expression_statement "(**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);" (call_expression "(**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" ( (pointer_expression "**(code **)(puVar53 + 0xb791c)" * (pointer_expression "*(code **)(puVar53 + 0xb791c)" * (cast_expression "(code **)(puVar53 + 0xb791c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar53 + 0xb791c)" ( (binary_expression "puVar53 + 0xb791c" identifier + number_literal) ))))) )) (argument_list "(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2)" ( (binary_expression "iVar18 + 2" identifier + number_literal) , identifier , (binary_expression "((int)pcVar46 - iVar19) * 2" (parenthesized_expression "((int)pcVar46 - iVar19)" ( (binary_expression "(int)pcVar46 - iVar19" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal) ))) ;) (expression_statement "pcVar46 = pcVar46 + 1;" (assignment_expression "pcVar46 = pcVar46 + 1" identifier = (binary_expression "pcVar46 + 1" identifier + number_literal)) ;) (expression_statement "iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);" (assignment_expression "iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" identifier = (call_expression "(*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" ( identifier , identifier , identifier , identifier , (binary_expression "(uint)uVar3 + iVar20" (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier) + identifier) , number_literal , identifier )))) ;) (if_statement "if (iVar18 != 0) goto LAB_000a5a9c;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a9c;" goto statement_identifier ;)) (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" identifier = (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" * (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" ( (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar25 = (uint)pEVar47->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)pEVar47->e_ident_pad[3]" identifier = (cast_expression "(uint)pEVar47->e_ident_pad[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ;) })) (expression_statement "iVar35 = iVar35 + 1;" (assignment_expression "iVar35 = iVar35 + 1" identifier = (binary_expression "iVar35 + 1" identifier + number_literal)) ;) (expression_statement "puVar41 = puVar41 + 1;" (assignment_expression "puVar41 = puVar41 + 1" identifier = (binary_expression "puVar41 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar35 < (int)uVar25)" ( (binary_expression "iVar35 < (int)uVar25" identifier < (cast_expression "(int)uVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);" (assignment_expression "iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" identifier = (call_expression "(*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" ( (pointer_expression "*(code *)pEStack_1d4" * (cast_expression "(code *)pEStack_1d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" ( identifier , identifier , identifier , (binary_expression "iVar18 + (int)pcVar46 * 2" identifier + (binary_expression "(int)pcVar46 * 2" (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , (binary_expression "pcVar46 + iVar44" identifier + identifier) , (binary_expression "(int)pEVar42 - (int)pcVar46" (cast_expression "(int)pEVar42" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar46" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier )))) ;) (if_statement "if (iVar20 != 0) goto LAB_000a5a94;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a5a94;" goto statement_identifier ;)) (expression_statement "*(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;" (assignment_expression "*(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42" (pointer_expression "*(short *)((int)&pEVar47->e_version + 2)" * (cast_expression "(short *)((int)&pEVar47->e_version + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar47->e_version + 2)" ( (binary_expression "(int)&pEVar47->e_version + 2" (cast_expression "(int)&pEVar47->e_version" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar47->e_version" & (field_expression "pEVar47->e_version" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(short)pEVar42" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "pEVar47->e_ident_pad[3] = 0;" (assignment_expression "pEVar47->e_ident_pad[3] = 0" (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);" (assignment_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8)" (subscript_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3]" (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))" ( (binary_expression "pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2)" (field_expression "pEStack_1d8->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar51->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -2)" ( (binary_expression "pEVar51->e_ident_magic_str + -2" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )) [ number_literal ]) = (call_expression "(byte)((uint)pEVar42 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)pEVar42 >> 8)" ( (binary_expression "(uint)pEVar42 >> 8" (cast_expression "(uint)pEVar42" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;" (assignment_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version" (subscript_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4]" (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))" ( (binary_expression "pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2)" (field_expression "pEStack_1d8->e_ident_magic_str" identifier -> field_identifier) + (cast_expression "(int)(pEVar51->e_ident_magic_str + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -2)" ( (binary_expression "pEVar51->e_ident_magic_str + -2" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) )))) )) [ number_literal ]) = (cast_expression "(byte)(short)pEVar47->e_version" ( (type_descriptor "byte" type_identifier) ) (cast_expression "(short)pEVar47->e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "pEVar47->e_version" identifier -> field_identifier)))) ;) (expression_statement "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);" (assignment_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" (subscript_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)]" (parenthesized_expression "(&pEStack_1d8->e_ident_data)" ( (pointer_expression "&pEStack_1d8->e_ident_data" & (field_expression "pEStack_1d8->e_ident_data" identifier -> field_identifier)) )) [ (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" ( (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" identifier -> field_identifier) + number_literal) ))) ]) = (call_expression "(byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" ( (binary_expression "(uint)(auStack_180._0_4_ - (int)pEVar51) >> 8" (call_expression "(uint)(auStack_180._0_4_ - (int)pEVar51)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(auStack_180._0_4_ - (int)pEVar51)" ( (binary_expression "auStack_180._0_4_ - (int)pEVar51" (field_expression "auStack_180._0_4_" identifier . field_identifier) - (cast_expression "(int)pEVar51" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal) )))) ;) (expression_statement "pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;" (assignment_expression "pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51" (field_expression "pEStack_1b0->e_ident_magic_num" identifier -> field_identifier) = (binary_expression "(char)auStack_180._0_4_ - (char)pEVar51" (cast_expression "(char)auStack_180._0_4_" ( (type_descriptor "char" primitive_type) ) (field_expression "auStack_180._0_4_" identifier . field_identifier)) - (cast_expression "(char)pEVar51" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "auStack_188._0_4_ = (Elf32_Ehdr *)0x0;" (assignment_expression "auStack_188._0_4_ = (Elf32_Ehdr *)0x0" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);" (assignment_expression "uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" identifier = (pointer_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" * (cast_expression "(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" ( (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" identifier . field_identifier) + (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "*(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';" (assignment_expression "*(char *)((int)&uStack_8c + (int)pEVar48) = '\x01'" (pointer_expression "*(char *)((int)&uStack_8c + (int)pEVar48)" * (cast_expression "(char *)((int)&uStack_8c + (int)pEVar48)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&uStack_8c + (int)pEVar48)" ( (binary_expression "(int)&uStack_8c + (int)pEVar48" (cast_expression "(int)&uStack_8c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&uStack_8c" & identifier)) + (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "*(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;" (assignment_expression "*(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13" (pointer_expression "*(short *)&pEVar47->e_version" * (cast_expression "(short *)&pEVar47->e_version" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar47->e_version" & (field_expression "pEVar47->e_version" identifier -> field_identifier)))) = (binary_expression "(short)pEStack_1f4 - (short)uVar13" (cast_expression "(short)pEStack_1f4" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) - (cast_expression "(short)uVar13" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier))) ;) (goto_statement "goto LAB_000a5944;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" else (compound_statement "{\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" { (labeled_statement "LAB_000a5944:\n      uVar13 = auStack_144._0_4_;" statement_identifier : (expression_statement "uVar13 = auStack_144._0_4_;" (assignment_expression "uVar13 = auStack_144._0_4_" identifier = (field_expression "auStack_144._0_4_" identifier . field_identifier)) ;)) (if_statement "if ((int)pEVar50 <= (int)pEStack_1e8) break;" if (parenthesized_expression "((int)pEVar50 <= (int)pEStack_1e8)" ( (binary_expression "(int)pEVar50 <= (int)pEStack_1e8" (cast_expression "(int)pEVar50" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pEStack_1e8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) }))) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEStack_1e8->e_ident_magic_str" identifier -> field_identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (if_statement "if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" if (parenthesized_expression "(((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0]))" ( (binary_expression "((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])" (parenthesized_expression "((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0))" ( (binary_expression "(pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)" (parenthesized_expression "(pEStack_4c == (Elf32_Ehdr *)0x0)" ( (binary_expression "pEStack_4c == (Elf32_Ehdr *)0x0" identifier == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((short)pEVar26->e_version != 0)" ( (binary_expression "(short)pEVar26->e_version != 0" (cast_expression "(short)pEVar26->e_version" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "pEVar26->e_version" identifier -> field_identifier)) != number_literal) ))) )) || (parenthesized_expression "(*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])" ( (binary_expression "*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0]" (pointer_expression "*(ushort *)(auStack_144._0_4_ + 0x14)" * (cast_expression "(ushort *)(auStack_144._0_4_ + 0x14)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_144._0_4_ + 0x14)" ( (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" identifier . field_identifier) + number_literal) )))) < (cast_expression "(ushort)pEVar26->e_ident_pad[0]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "pEVar26->e_ident_pad[0]" (field_expression "pEVar26->e_ident_pad" identifier -> field_identifier) [ number_literal ]))) ))) )) (compound_statement "{\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }" { (if_statement "if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }" if (parenthesized_expression "(((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0))" ( (binary_expression "((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)" (parenthesized_expression "((char)pEVar7->e_type != '\0')" ( (binary_expression "(char)pEVar7->e_type != '\0'" (cast_expression "(char)pEVar7->e_type" ( (type_descriptor "char" primitive_type) ) (field_expression "pEVar7->e_type" identifier -> field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(puStack_1e0 == (undefined1 *)0x0)" ( (binary_expression "puStack_1e0 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }" { (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_188;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_188" identifier = (cast_expression "(Elf32_Ehdr *)auStack_188" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pEVar48 = pEStack_1ec;" (assignment_expression "pEVar48 = pEStack_1ec" identifier = identifier) ;) (do_statement "do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);" do (compound_statement "{\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      }" { (expression_statement "iVar10 = *(int *)pEVar48;" (assignment_expression "iVar10 = *(int *)pEVar48" identifier = (pointer_expression "*(int *)pEVar48" * (cast_expression "(int *)pEVar48" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;" (assignment_expression "param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)param_2->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "param_2->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class" identifier = (cast_expression "(Elf32_Ehdr *)&pEVar48->e_ident_class" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar48->e_ident_class" & (field_expression "pEVar48->e_ident_class" identifier -> field_identifier)))) ;) (expression_statement "FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);" (call_expression "FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8)" identifier (argument_list "(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8)" * (cast_expression "(undefined4 *)(*(int *)(iVar10 + 0x38) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar10 + 0x38) + 8)" ( (binary_expression "*(int *)(iVar10 + 0x38) + 8" (pointer_expression "*(int *)(iVar10 + 0x38)" * (cast_expression "(int *)(iVar10 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x38)" ( (binary_expression "iVar10 + 0x38" identifier + number_literal) )))) + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(iVar10 + 4)" * (cast_expression "(undefined4 *)(iVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))) , identifier ))) ;) }) while (parenthesized_expression "(pEVar50 != param_2)" ( (binary_expression "pEVar50 != param_2" identifier != identifier) )) ;) })) }) (else_clause "else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" else (compound_statement "{\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" { (expression_statement "auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);" (assignment_expression "auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff)" (field_expression "auStack_188._0_4_" identifier . field_identifier) = (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))" ( (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910)" * (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5910)" ( (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5910" (pointer_expression "*(int *)(puVar53 + 0xb7620)" * (cast_expression "(int *)(puVar53 + 0xb7620)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar53 + 0xb7620)" ( (binary_expression "puVar53 + 0xb7620" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(auStack_144._0_4_,0xffffffff)" ( (field_expression "auStack_144._0_4_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }" { (expression_statement "FUN_000a25bc(uVar13,pEVar26,auStack_188);" (call_expression "FUN_000a25bc(uVar13,pEVar26,auStack_188)" identifier (argument_list "(uVar13,pEVar26,auStack_188)" ( identifier , identifier , identifier ))) ;) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_000a3c84(uVar13,auStack_188);\n      }" { (expression_statement "FUN_000a3c84(uVar13,auStack_188);" (call_expression "FUN_000a3c84(uVar13,auStack_188)" identifier (argument_list "(uVar13,auStack_188)" ( identifier , identifier ))) ;) })) })) }))) (expression_statement "pEVar48 = pEVar50;" (assignment_expression "pEVar48 = pEVar50" identifier = identifier) ;) (while_statement "while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }" while (parenthesized_expression "(pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc)" ( (comma_expression "pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc" (assignment_expression "pEVar51 = pEVar26" identifier = identifier) , (comma_expression "pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc" (assignment_expression "pEVar54 = pEVar7" identifier = identifier) , (binary_expression "(int)pEVar48 < (int)pcStack_1bc" (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pcStack_1bc" ( (type_descriptor "int" primitive_type) ) identifier)))) )) (compound_statement "{\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }" { (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" if (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" ( (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_188._0_4_" identifier . field_identifier)) == (cast_expression "(Elf32_Ehdr *)0x0" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }" { (expression_statement "ppEVar43 = ppEStack_1dc + (int)pEVar48;" (assignment_expression "ppEVar43 = ppEStack_1dc + (int)pEVar48" identifier = (binary_expression "ppEStack_1dc + (int)pEVar48" identifier + (cast_expression "(int)pEVar48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier))) ;) (expression_statement "FUN_000a3c84(*ppEVar43,auStack_188);" (call_expression "FUN_000a3c84(*ppEVar43,auStack_188)" identifier (argument_list "(*ppEVar43,auStack_188)" ( (pointer_expression "*ppEVar43" * identifier) , identifier ))) ;) }) (else_clause "else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" else (compound_statement "{\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" { (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" identifier = (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pEVar48->e_ident_magic_str" identifier -> field_identifier))) ;) }))) })) (goto_statement "goto LAB_000a443c;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) < (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (pointer_expression * IDENT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , (binary_expression IDENT == (pointer_expression & IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (pointer_expression * IDENT) ))) - LIT) & LIT) )) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) - (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) )) + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (pointer_expression & (field_expression IDENT -> field_identifier)) , (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (field_expression IDENT -> field_identifier)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) + LIT) ]) = (binary_expression (subscript_expression IDENT [ (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) + LIT) ]) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (binary_expression IDENT * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (binary_expression IDENT * LIT)) + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) + LIT) )))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) + (binary_expression IDENT * LIT)) )))) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) )))) )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))) & LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) << (binary_expression IDENT * LIT)) | (binary_expression IDENT & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) )) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + LIT) + (unary_expression - IDENT)) )))) >> (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (field_expression IDENT . field_identifier) , IDENT , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (field_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (pointer_expression * IDENT) ))) -> field_identifier)) + (subscript_expression (field_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) -> field_identifier) [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) + (field_expression IDENT -> field_identifier)) ))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (field_expression IDENT -> field_identifier)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)))) != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) )) * LIT)) )))) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( LIT , (field_expression IDENT -> field_identifier) , 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) , IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = 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 IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) * LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (field_expression IDENT . field_identifier) * LIT)) , LIT , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) * LIT) ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (field_expression IDENT . field_identifier) * LIT)) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT & IDENT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (field_expression IDENT . field_identifier) * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) }))) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (for_statement for ( ; (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) ) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT & IDENT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (field_expression IDENT . field_identifier) * LIT)) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (field_expression IDENT . field_identifier) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (field_expression IDENT . field_identifier) * LIT)) ))))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (field_expression IDENT . field_identifier) * LIT)) ))))) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (field_expression IDENT . field_identifier) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (field_expression IDENT . field_identifier) * LIT)) )))) < LIT) )) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (field_expression IDENT -> field_identifier)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) != IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) - LIT) ))) )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (subscript_expression IDENT [ LIT ])) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) - IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (subscript_expression IDENT [ LIT ])) + LIT) )))) + LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (subscript_expression IDENT [ LIT ])) + LIT) )))) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) }))) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) - IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression IDENT (argument_list ( (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) -> field_identifier) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) , LIT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) -> field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT . field_identifier))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression (pointer_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 & (field_expression IDENT . field_identifier))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( LIT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression IDENT != IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (field_expression IDENT . field_identifier) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (do_statement do (compound_statement { (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 = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (field_expression IDENT . field_identifier) + (binary_expression IDENT * LIT)) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (binary_expression (binary_expression IDENT + LIT) + IDENT) ))) ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT))) | (binary_expression IDENT >> (binary_expression IDENT * LIT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT << (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) + (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) ))) [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + IDENT) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (subscript_expression IDENT [ LIT ])) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (subscript_expression IDENT [ LIT ])) + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (parenthesized_expression ( (binary_expression IDENT + LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) }) while (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (field_expression (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) )) [ LIT ]) . field_identifier) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = 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 IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) )))) ))) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) * LIT)) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)))) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) + LIT) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) != IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) , (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) , (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) , (comma_expression (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))))))))) ))) )) ;) }) while (parenthesized_expression ( BOOL )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT << (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT))) | (binary_expression IDENT >> (binary_expression IDENT * LIT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & (binary_expression LIT >> (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT))) | (binary_expression IDENT << (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) * LIT)))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT )))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) -> field_identifier) + LIT) )))) + (binary_expression (field_expression IDENT . field_identifier) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT - IDENT) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_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 IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) + (binary_expression IDENT * LIT)) , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( LIT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (pointer_expression & IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - IDENT))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & (field_expression IDENT -> field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT -> field_identifier) + (parenthesized_expression ( (binary_expression (binary_expression (call_expression IDENT (argument_list ( (subscript_expression (parenthesized_expression ( (pointer_expression & (field_expression IDENT -> field_identifier)) )) [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))) ]) , (field_expression IDENT -> field_identifier) ))) - LIT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + IDENT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))) )) -> field_identifier))) )) (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + IDENT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )) - IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_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 IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )) * LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) , (binary_expression IDENT + IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) )))) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) )) [ LIT ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (pointer_expression & (field_expression IDENT -> field_identifier)) )) [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))) ]) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (field_expression IDENT . field_identifier) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) }) while (parenthesized_expression ( BOOL )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (field_expression IDENT -> field_identifier)) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) }))) })) (goto_statement goto statement_identifier ;) })))
(function_definition "Elf32_Ehdr *\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)\n\n{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}" (type_identifier "Elf32_Ehdr") (pointer_declarator "*\nFUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" (* "*") (function_declarator "FUN_000a3cd0(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" (identifier "FUN_000a3cd0") (parameter_list "(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,\n            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)" (( "(") (parameter_declaration "Elf32_Ehdr *param_1" (type_identifier "Elf32_Ehdr") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "Elf32_Ehdr *param_2" (type_identifier "Elf32_Ehdr") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "Elf32_Ehdr *param_3" (type_identifier "Elf32_Ehdr") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "Elf32_Ehdr *param_4" (type_identifier "Elf32_Ehdr") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "Elf32_Ehdr *param_6" (type_identifier "Elf32_Ehdr") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "Elf32_Ehdr *param_7" (type_identifier "Elf32_Ehdr") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")")))) (compound_statement "{\n  ushort uVar1;\n  ushort uVar2;\n  ushort uVar3;\n  bool bVar4;\n  ushort uVar5;\n  word wVar6;\n  Elf32_Ehdr *pEVar7;\n  byte bVar22;\n  byte *pbVar8;\n  int *piVar9;\n  int iVar10;\n  Elf32_Ehdr *pEVar11;\n  uint *puVar12;\n  undefined4 uVar13;\n  short *psVar14;\n  dword *pdVar15;\n  undefined1 *puVar17;\n  int iVar18;\n  int iVar19;\n  int iVar20;\n  short sVar21;\n  byte bVar24;\n  uint uVar23;\n  Elf32_Ehdr *extraout_v1;\n  uint uVar25;\n  Elf32_Ehdr *pEVar26;\n  dword *pdVar27;\n  word *pwVar28;\n  undefined4 *puVar29;\n  dword dVar30;\n  undefined4 uVar31;\n  uint uVar32;\n  word *pwVar33;\n  byte *pbVar34;\n  int iVar35;\n  undefined4 uVar36;\n  byte *pbVar37;\n  undefined4 uVar38;\n  byte *pbVar39;\n  int *piVar40;\n  ushort *puVar41;\n  Elf32_Ehdr *pEVar42;\n  byte bVar45;\n  Elf32_Ehdr **ppEVar43;\n  int iVar44;\n  char *pcVar46;\n  Elf32_Ehdr *pEVar47;\n  Elf32_Ehdr *pEVar48;\n  Elf32_Ehdr *pEVar49;\n  Elf32_Ehdr *pEVar50;\n  Elf32_Ehdr *unaff_s6;\n  Elf32_Ehdr *pEVar51;\n  Elf32_Ehdr *unaff_s7;\n  char *pcVar52;\n  undefined *puVar53;\n  Elf32_Ehdr *pEVar54;\n  code *pcVar55;\n  Elf32_Ehdr *pEStack_1f4;\n  Elf32_Ehdr *pEStack_1f0;\n  Elf32_Ehdr *pEStack_1ec;\n  Elf32_Ehdr *pEStack_1e8;\n  code *pcStack_1e4;\n  undefined1 *puStack_1e0;\n  Elf32_Ehdr **ppEStack_1dc;\n  Elf32_Ehdr *pEStack_1d8;\n  Elf32_Ehdr *pEStack_1d4;\n  int iStack_1d0;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  byte *pbStack_1c0;\n  char *pcStack_1bc;\n  Elf32_Ehdr *pEStack_1b8;\n  Elf32_Ehdr *pEStack_1b0;\n  Elf32_Ehdr *pEStack_1a8;\n  undefined1 auStack_188 [8];\n  undefined1 auStack_180 [36];\n  word awStack_15c [4];\n  undefined1 auStack_154 [4];\n  Elf32_Ehdr *pEStack_150;\n  undefined1 auStack_14c [8];\n  undefined1 auStack_144 [20];\n  undefined1 auStack_130 [40];\n  Elf32_Ehdr EStack_108;\n  undefined1 auStack_cc [8];\n  int iStack_c4;\n  int aiStack_c0 [13];\n  undefined4 uStack_8c;\n  undefined1 uStack_88;\n  int iStack_84;\n  Elf32_Ehdr *pEStack_80;\n  Elf32_Ehdr *pEStack_7c;\n  Elf32_Ehdr *pEStack_78;\n  undefined *puStack_74;\n  Elf32_Ehdr *pEStack_70;\n  Elf32_Ehdr *pEStack_6c;\n  Elf32_Ehdr *pEStack_68;\n  Elf32_Ehdr *pEStack_64;\n  Elf32_Ehdr *pEStack_60;\n  code *pcStack_5c;\n  Elf32_Ehdr *pEStack_54;\n  Elf32_Ehdr *pEStack_4c;\n  int local_30;\n  Elf32_Ehdr *local_2c;\n  dword *pdVar16;\n  \n  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;\n  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];\n  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;\n  bVar45 = (byte)((uint)param_6 >> 8);\n  bVar22 = (byte)((uint)param_6 >> 0x10);\n  bVar24 = (byte)((uint)param_6 >> 0x18);\n  pEVar48 = param_2;\n  pEStack_1d8 = param_3;\n  pEVar50 = param_4;\n  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }\n  if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }\n  pcVar55 = FUN_000a4120;\n  puVar53 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar9 = *(int **)(puVar53 + 0xb790c);\n  pEStack_60 = param_7;\n  puStack_74 = &pEVar47->e_ident_magic_num;\n  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n  uStack_8c = 0;\n  uStack_88 = 0;\n  auStack_cc._0_4_ = 0;\n  iStack_c4 = 0;\n  iStack_84 = *piVar9;\n  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);\n  pEStack_80 = param_1;\n  pEStack_7c = param_6;\n  pEStack_78 = param_3;\n  pEStack_70 = pEVar49;\n  pEStack_6c = param_2;\n  pEStack_68 = unaff_s6;\n  pEStack_64 = unaff_s7;\n  pcStack_5c = pcVar55;\n  pEStack_54 = pEVar48;\n  pEStack_4c = pEVar50;\n  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }\n  uVar25 = (uint)(ushort)pEVar26->e_version;\n  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);\n  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }\n  ppEStack_1dc = &pEStack_150;\n  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);\n  puStack_1e0 = auStack_188;\n  iStack_1d0 = (int)pEStack_1d4 * 4;\n  uVar23 = (uint)pEStack_1c8 & 3;\n  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;\n  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);\n  pEStack_1f4 = (Elf32_Ehdr *)0x0;\n  pEStack_1ec = &EStack_108;\n  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;\n  auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;\n  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);\n  pEVar48 = pEStack_1d4;\n  while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }\n  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);\n  unaff_s7 = (Elf32_Ehdr *)0x0;\n  goto LAB_000a443c;\nLAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);\n  if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  uVar2 = pEVar50->e_machine;\n  iVar10 = auStack_cc._0_4_;\n  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }\n  auStack_cc._0_4_ = iVar10;\n  *(int *)pbVar34 = iVar10;\n  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }\n  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;\nLAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));\n  iVar44 = 0;\n  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;\n  pEVar49 = &EStack_108;\n  iVar10 = 0;\n  pEVar47 = pEStack_150;\n  while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }\n  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;\n  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEVar47 = (Elf32_Ehdr *)0x1;\n  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;\n  pEVar42 = pEStack_1a8;\n  pEVar54 = &EStack_108;\n  pEStack_1f0 = (Elf32_Ehdr *)0x0;\n  while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }\nLAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;\n  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }\n  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n  pEStack_1e8 = pEStack_1c4;\n  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);\n  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);\n  do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);\n  uVar13 = 0x114c2;\nLAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);\n  pEVar47 = pEVar48;\nLAB_000a443c:\n  param_2 = pEVar50;\n  pEVar26 = pEVar51;\n  pEVar7 = pEVar54;\n  if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }\nLAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);\n  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n  param_1 = (Elf32_Ehdr *)ppEStack_1dc;\n  do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);\n  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n  if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }\nLAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }\n  iVar10 = iStack_84;\n  (**(code **)(puVar53 + 0xb78f0))();\n  pEVar48 = extraout_v1;\n  pEVar50 = param_2;\n  param_2 = unaff_s7;\n  do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );\nLAB_000a46e0:\n  uVar13 = 0x11403;\n  pEStack_1ec = (Elf32_Ehdr *)0x0;\n  pEStack_1f0 = &EStack_108;\n  pEStack_1e8 = pEVar7;\n  pEStack_1d4 = pEVar26;\n  goto LAB_000a46ec;\nLAB_000a5474:\n  unaff_s7 = pEVar50;\n  if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }\n  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;\n  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;\n  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);\n  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);\n  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);\n  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);\n  iVar10 = *(int *)(puVar53 + 0xb7620);\n  pEVar47 = pEStack_1c4;\n  do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );\n  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }\n  pEVar48 = pEVar50;\n  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }\n  goto LAB_000a443c;\n}" ({ "{") (declaration "ushort uVar1;" (type_identifier "ushort") (identifier "uVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "ushort uVar3;" (type_identifier "ushort") (identifier "uVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "ushort uVar5;" (type_identifier "ushort") (identifier "uVar5") (; ";")) (declaration "word wVar6;" (type_identifier "word") (identifier "wVar6") (; ";")) (declaration "Elf32_Ehdr *pEVar7;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar7" (* "*") (identifier "pEVar7")) (; ";")) (declaration "byte bVar22;" (type_identifier "byte") (identifier "bVar22") (; ";")) (declaration "byte *pbVar8;" (type_identifier "byte") (pointer_declarator "*pbVar8" (* "*") (identifier "pbVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "Elf32_Ehdr *pEVar11;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar11" (* "*") (identifier "pEVar11")) (; ";")) (declaration "uint *puVar12;" (type_identifier "uint") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "short *psVar14;" (sized_type_specifier "short" (short "short")) (pointer_declarator "*psVar14" (* "*") (identifier "psVar14")) (; ";")) (declaration "dword *pdVar15;" (type_identifier "dword") (pointer_declarator "*pdVar15" (* "*") (identifier "pdVar15")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "short sVar21;" (sized_type_specifier "short" (short "short")) (identifier "sVar21") (; ";")) (declaration "byte bVar24;" (type_identifier "byte") (identifier "bVar24") (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "Elf32_Ehdr *extraout_v1;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*extraout_v1" (* "*") (identifier "extraout_v1")) (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "Elf32_Ehdr *pEVar26;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar26" (* "*") (identifier "pEVar26")) (; ";")) (declaration "dword *pdVar27;" (type_identifier "dword") (pointer_declarator "*pdVar27" (* "*") (identifier "pdVar27")) (; ";")) (declaration "word *pwVar28;" (type_identifier "word") (pointer_declarator "*pwVar28" (* "*") (identifier "pwVar28")) (; ";")) (declaration "undefined4 *puVar29;" (type_identifier "undefined4") (pointer_declarator "*puVar29" (* "*") (identifier "puVar29")) (; ";")) (declaration "dword dVar30;" (type_identifier "dword") (identifier "dVar30") (; ";")) (declaration "undefined4 uVar31;" (type_identifier "undefined4") (identifier "uVar31") (; ";")) (declaration "uint uVar32;" (type_identifier "uint") (identifier "uVar32") (; ";")) (declaration "word *pwVar33;" (type_identifier "word") (pointer_declarator "*pwVar33" (* "*") (identifier "pwVar33")) (; ";")) (declaration "byte *pbVar34;" (type_identifier "byte") (pointer_declarator "*pbVar34" (* "*") (identifier "pbVar34")) (; ";")) (declaration "int iVar35;" (primitive_type "int") (identifier "iVar35") (; ";")) (declaration "undefined4 uVar36;" (type_identifier "undefined4") (identifier "uVar36") (; ";")) (declaration "byte *pbVar37;" (type_identifier "byte") (pointer_declarator "*pbVar37" (* "*") (identifier "pbVar37")) (; ";")) (declaration "undefined4 uVar38;" (type_identifier "undefined4") (identifier "uVar38") (; ";")) (declaration "byte *pbVar39;" (type_identifier "byte") (pointer_declarator "*pbVar39" (* "*") (identifier "pbVar39")) (; ";")) (declaration "int *piVar40;" (primitive_type "int") (pointer_declarator "*piVar40" (* "*") (identifier "piVar40")) (; ";")) (declaration "ushort *puVar41;" (type_identifier "ushort") (pointer_declarator "*puVar41" (* "*") (identifier "puVar41")) (; ";")) (declaration "Elf32_Ehdr *pEVar42;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar42" (* "*") (identifier "pEVar42")) (; ";")) (declaration "byte bVar45;" (type_identifier "byte") (identifier "bVar45") (; ";")) (declaration "Elf32_Ehdr **ppEVar43;" (type_identifier "Elf32_Ehdr") (pointer_declarator "**ppEVar43" (* "*") (pointer_declarator "*ppEVar43" (* "*") (identifier "ppEVar43"))) (; ";")) (declaration "int iVar44;" (primitive_type "int") (identifier "iVar44") (; ";")) (declaration "char *pcVar46;" (primitive_type "char") (pointer_declarator "*pcVar46" (* "*") (identifier "pcVar46")) (; ";")) (declaration "Elf32_Ehdr *pEVar47;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar47" (* "*") (identifier "pEVar47")) (; ";")) (declaration "Elf32_Ehdr *pEVar48;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar48" (* "*") (identifier "pEVar48")) (; ";")) (declaration "Elf32_Ehdr *pEVar49;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar49" (* "*") (identifier "pEVar49")) (; ";")) (declaration "Elf32_Ehdr *pEVar50;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar50" (* "*") (identifier "pEVar50")) (; ";")) (declaration "Elf32_Ehdr *unaff_s6;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "Elf32_Ehdr *pEVar51;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar51" (* "*") (identifier "pEVar51")) (; ";")) (declaration "Elf32_Ehdr *unaff_s7;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "char *pcVar52;" (primitive_type "char") (pointer_declarator "*pcVar52" (* "*") (identifier "pcVar52")) (; ";")) (declaration "undefined *puVar53;" (type_identifier "undefined") (pointer_declarator "*puVar53" (* "*") (identifier "puVar53")) (; ";")) (declaration "Elf32_Ehdr *pEVar54;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar54" (* "*") (identifier "pEVar54")) (; ";")) (declaration "code *pcVar55;" (type_identifier "code") (pointer_declarator "*pcVar55" (* "*") (identifier "pcVar55")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1f4;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1f4" (* "*") (identifier "pEStack_1f4")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1f0;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1f0" (* "*") (identifier "pEStack_1f0")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1ec;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1ec" (* "*") (identifier "pEStack_1ec")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1e8;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1e8" (* "*") (identifier "pEStack_1e8")) (; ";")) (declaration "code *pcStack_1e4;" (type_identifier "code") (pointer_declarator "*pcStack_1e4" (* "*") (identifier "pcStack_1e4")) (; ";")) (declaration "undefined1 *puStack_1e0;" (type_identifier "undefined1") (pointer_declarator "*puStack_1e0" (* "*") (identifier "puStack_1e0")) (; ";")) (declaration "Elf32_Ehdr **ppEStack_1dc;" (type_identifier "Elf32_Ehdr") (pointer_declarator "**ppEStack_1dc" (* "*") (pointer_declarator "*ppEStack_1dc" (* "*") (identifier "ppEStack_1dc"))) (; ";")) (declaration "Elf32_Ehdr *pEStack_1d8;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1d8" (* "*") (identifier "pEStack_1d8")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1d4;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1d4" (* "*") (identifier "pEStack_1d4")) (; ";")) (declaration "int iStack_1d0;" (primitive_type "int") (identifier "iStack_1d0") (; ";")) (declaration "Elf32_Ehdr *pEStack_1c8;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1c8" (* "*") (identifier "pEStack_1c8")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1c4;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1c4" (* "*") (identifier "pEStack_1c4")) (; ";")) (declaration "byte *pbStack_1c0;" (type_identifier "byte") (pointer_declarator "*pbStack_1c0" (* "*") (identifier "pbStack_1c0")) (; ";")) (declaration "char *pcStack_1bc;" (primitive_type "char") (pointer_declarator "*pcStack_1bc" (* "*") (identifier "pcStack_1bc")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1b8;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1b8" (* "*") (identifier "pEStack_1b8")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1b0;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1b0" (* "*") (identifier "pEStack_1b0")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1a8;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1a8" (* "*") (identifier "pEStack_1a8")) (; ";")) (declaration "undefined1 auStack_188 [8];" (type_identifier "undefined1") (array_declarator "auStack_188 [8]" (identifier "auStack_188") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 auStack_180 [36];" (type_identifier "undefined1") (array_declarator "auStack_180 [36]" (identifier "auStack_180") ([ "[") (number_literal "36") (] "]")) (; ";")) (declaration "word awStack_15c [4];" (type_identifier "word") (array_declarator "awStack_15c [4]" (identifier "awStack_15c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 auStack_154 [4];" (type_identifier "undefined1") (array_declarator "auStack_154 [4]" (identifier "auStack_154") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "Elf32_Ehdr *pEStack_150;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_150" (* "*") (identifier "pEStack_150")) (; ";")) (declaration "undefined1 auStack_14c [8];" (type_identifier "undefined1") (array_declarator "auStack_14c [8]" (identifier "auStack_14c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined1 auStack_144 [20];" (type_identifier "undefined1") (array_declarator "auStack_144 [20]" (identifier "auStack_144") ([ "[") (number_literal "20") (] "]")) (; ";")) (declaration "undefined1 auStack_130 [40];" (type_identifier "undefined1") (array_declarator "auStack_130 [40]" (identifier "auStack_130") ([ "[") (number_literal "40") (] "]")) (; ";")) (declaration "Elf32_Ehdr EStack_108;" (type_identifier "Elf32_Ehdr") (identifier "EStack_108") (; ";")) (declaration "undefined1 auStack_cc [8];" (type_identifier "undefined1") (array_declarator "auStack_cc [8]" (identifier "auStack_cc") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int iStack_c4;" (primitive_type "int") (identifier "iStack_c4") (; ";")) (declaration "int aiStack_c0 [13];" (primitive_type "int") (array_declarator "aiStack_c0 [13]" (identifier "aiStack_c0") ([ "[") (number_literal "13") (] "]")) (; ";")) (declaration "undefined4 uStack_8c;" (type_identifier "undefined4") (identifier "uStack_8c") (; ";")) (declaration "undefined1 uStack_88;" (type_identifier "undefined1") (identifier "uStack_88") (; ";")) (declaration "int iStack_84;" (primitive_type "int") (identifier "iStack_84") (; ";")) (declaration "Elf32_Ehdr *pEStack_80;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_80" (* "*") (identifier "pEStack_80")) (; ";")) (declaration "Elf32_Ehdr *pEStack_7c;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_7c" (* "*") (identifier "pEStack_7c")) (; ";")) (declaration "Elf32_Ehdr *pEStack_78;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_78" (* "*") (identifier "pEStack_78")) (; ";")) (declaration "undefined *puStack_74;" (type_identifier "undefined") (pointer_declarator "*puStack_74" (* "*") (identifier "puStack_74")) (; ";")) (declaration "Elf32_Ehdr *pEStack_70;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_70" (* "*") (identifier "pEStack_70")) (; ";")) (declaration "Elf32_Ehdr *pEStack_6c;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_6c" (* "*") (identifier "pEStack_6c")) (; ";")) (declaration "Elf32_Ehdr *pEStack_68;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_68" (* "*") (identifier "pEStack_68")) (; ";")) (declaration "Elf32_Ehdr *pEStack_64;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_64" (* "*") (identifier "pEStack_64")) (; ";")) (declaration "Elf32_Ehdr *pEStack_60;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_60" (* "*") (identifier "pEStack_60")) (; ";")) (declaration "code *pcStack_5c;" (type_identifier "code") (pointer_declarator "*pcStack_5c" (* "*") (identifier "pcStack_5c")) (; ";")) (declaration "Elf32_Ehdr *pEStack_54;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_54" (* "*") (identifier "pEStack_54")) (; ";")) (declaration "Elf32_Ehdr *pEStack_4c;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_4c" (* "*") (identifier "pEStack_4c")) (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "Elf32_Ehdr *local_2c;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "dword *pdVar16;" (type_identifier "dword") (pointer_declarator "*pdVar16" (* "*") (identifier "pdVar16")) (; ";")) (expression_statement "pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c"))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3]" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(uint)param_1->e_ident_pad[3]" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)param_1->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]"))))) (; ";")) (expression_statement "local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" (identifier "local_2c") (= "=") (pointer_expression "*(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (expression_statement "bVar45 = (byte)((uint)param_6 >> 8);" (assignment_expression "bVar45 = (byte)((uint)param_6 >> 8)" (identifier "bVar45") (= "=") (call_expression "(byte)((uint)param_6 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)param_6 >> 8)" (( "(") (binary_expression "(uint)param_6 >> 8" (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "bVar22 = (byte)((uint)param_6 >> 0x10);" (assignment_expression "bVar22 = (byte)((uint)param_6 >> 0x10)" (identifier "bVar22") (= "=") (call_expression "(byte)((uint)param_6 >> 0x10)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)param_6 >> 0x10)" (( "(") (binary_expression "(uint)param_6 >> 0x10" (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "bVar24 = (byte)((uint)param_6 >> 0x18);" (assignment_expression "bVar24 = (byte)((uint)param_6 >> 0x18)" (identifier "bVar24") (= "=") (call_expression "(byte)((uint)param_6 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)param_6 >> 0x18)" (( "(") (binary_expression "(uint)param_6 >> 0x18" (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "pEVar48 = param_2;" (assignment_expression "pEVar48 = param_2" (identifier "pEVar48") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pEStack_1d8 = param_3;" (assignment_expression "pEStack_1d8 = param_3" (identifier "pEStack_1d8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" (identifier "pEVar50") (= "=") (identifier "param_4")) (; ";")) (if_statement "if ((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }\n  else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" (if "if") (parenthesized_expression "((pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version))" (( "(") (binary_expression "(pEVar49 == (Elf32_Ehdr *)0x0) &&\n     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)" (parenthesized_expression "(pEVar49 == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEVar49 == (Elf32_Ehdr *)0x0" (identifier "pEVar49") (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)" (( "(") (binary_expression "(int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version" (cast_expression "(int)param_4->e_ident_magic_str" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "param_4->e_ident_magic_str" (identifier "param_4") (-> "->") (field_identifier "e_ident_magic_str"))) (< "<") (binary_expression "(int)(uint)*(ushort *)&param_1->e_version" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)&param_1->e_version" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&param_1->e_version" (& "&") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version")))))) () ")"))) () ")")) (compound_statement "{\n    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;\n    iVar10 = FUN_0009c62c();\n    if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }\n  }" ({ "{") (expression_statement "pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;" (assignment_expression "pEVar26 = (Elf32_Ehdr *)param_1[1].e_version" (identifier "pEVar26") (= "=") (cast_expression "(Elf32_Ehdr *)param_1[1].e_version" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "param_1[1].e_version" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_version")))) (; ";")) (expression_statement "iVar10 = FUN_0009c62c();" (assignment_expression "iVar10 = FUN_0009c62c()" (identifier "iVar10") (= "=") (call_expression "FUN_0009c62c()" (identifier "FUN_0009c62c") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar10 == 0) {\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }\n    else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar25 = (uint)param_1->e_ident_pad[0];\n      pbVar34 = *(byte **)&param_1[1].e_ident_class;\n      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;\n      local_30 = 0;\n      pbVar39 = pbVar34 + uVar25 + 5;\n      pbVar37 = pbVar34 + uVar25 + 6;\n      unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);\n      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);\n      if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }\nLAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;\n      if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }\n      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);\n      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);\n      pEVar48 = param_6;\n      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);\n      param_6->e_ident_magic_num = (byte)pEVar49;\n      param_6->e_ident_magic_str[0] = (char)unaff_s7;\n      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);\n      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;\n      bVar22 = pEVar26->e_ident_magic_num + 1;\n      pEVar26->e_ident_magic_num = bVar22;\n      if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }\n      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }\n    }" ({ "{") (expression_statement "uVar25 = (uint)param_1->e_ident_pad[0];" (assignment_expression "uVar25 = (uint)param_1->e_ident_pad[0]" (identifier "uVar25") (= "=") (cast_expression "(uint)param_1->e_ident_pad[0]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "pbVar34 = *(byte **)&param_1[1].e_ident_class;" (assignment_expression "pbVar34 = *(byte **)&param_1[1].e_ident_class" (identifier "pbVar34") (= "=") (pointer_expression "*(byte **)&param_1[1].e_ident_class" (* "*") (cast_expression "(byte **)&param_1[1].e_ident_class" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&param_1[1].e_ident_class" (& "&") (field_expression "param_1[1].e_ident_class" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)(uint)param_1->e_machine" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)param_1->e_machine" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "param_1->e_machine" (identifier "param_1") (-> "->") (field_identifier "e_machine"))))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar39 = pbVar34 + uVar25 + 5;" (assignment_expression "pbVar39 = pbVar34 + uVar25 + 5" (identifier "pbVar39") (= "=") (binary_expression "pbVar34 + uVar25 + 5" (binary_expression "pbVar34 + uVar25" (identifier "pbVar34") (+ "+") (identifier "uVar25")) (+ "+") (number_literal "5"))) (; ";")) (expression_statement "pbVar37 = pbVar34 + uVar25 + 6;" (assignment_expression "pbVar37 = pbVar34 + uVar25 + 6" (identifier "pbVar37") (= "=") (binary_expression "pbVar34 + uVar25 + 6" (binary_expression "pbVar34 + uVar25" (identifier "pbVar34") (+ "+") (identifier "uVar25")) (+ "+") (number_literal "6"))) (; ";")) (expression_statement "unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" (identifier "unaff_s7") (= "=") (cast_expression "(Elf32_Ehdr *)\n                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1)" (( "(") (binary_expression "pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1" (binary_expression "pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2" (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (binary_expression "(uint)(ushort)param_1->e_version * 2" (cast_expression "(uint)(ushort)param_1->e_version" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(ushort)param_1->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version")))) (* "*") (number_literal "2"))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37)" (identifier "unaff_s6") (= "=") (cast_expression "(Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)CONCAT11(*pbVar39,*pbVar37)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CONCAT11(*pbVar39,*pbVar37)" (identifier "CONCAT11") (argument_list "(*pbVar39,*pbVar37)" (( "(") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")) (, ",") (pointer_expression "*pbVar37" (* "*") (identifier "pbVar37")) () ")")))))) (; ";")) (if_statement "if (unaff_s6 < unaff_s7) {\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }\n      else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" (if "if") (parenthesized_expression "(unaff_s6 < unaff_s7)" (( "(") (binary_expression "unaff_s6 < unaff_s7" (identifier "unaff_s6") (< "<") (identifier "unaff_s7")) () ")")) (compound_statement "{\n        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }\n        pEVar26 = (Elf32_Ehdr *)0xfcb0;\n        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();\n        if (iVar10 != 0) goto LAB_000a3fdc;\n        unaff_s7 = (Elf32_Ehdr *)0x0;\n        unaff_s6 = (Elf32_Ehdr *)0x0;\n        pbVar8 = pbVar34;\n      }" ({ "{") (if_statement "if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)) {\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" (if "if") (parenthesized_expression "((unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000))" (( "(") (binary_expression "(unaff_s6 == (Elf32_Ehdr *)0x0) &&\n           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)" (parenthesized_expression "(unaff_s6 == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "unaff_s6 == (Elf32_Ehdr *)0x0" (identifier "unaff_s6") (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000)" (( "(") (comma_expression "pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),\n           pEVar48 == &Elf32_Ehdr_00010000" (assignment_expression "pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" (identifier "pEVar48") (= "=") (pointer_expression "*(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" (* "*") (cast_expression "(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1 + 1) + 0x24)" (( "(") (binary_expression "*(int *)(param_1 + 1) + 0x24" (pointer_expression "*(int *)(param_1 + 1)" (* "*") (cast_expression "(int *)(param_1 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) () ")")))) (+ "+") (number_literal "0x24")) () ")"))))) (, ",") (binary_expression "pEVar48 == &Elf32_Ehdr_00010000" (identifier "pEVar48") (== "==") (pointer_expression "&Elf32_Ehdr_00010000" (& "&") (identifier "Elf32_Ehdr_00010000")))) () ")"))) () ")")) (compound_statement "{\n          unaff_s6 = &Elf32_Ehdr_00010000;\n          goto LAB_000a3e78;\n        }" ({ "{") (expression_statement "unaff_s6 = &Elf32_Ehdr_00010000;" (assignment_expression "unaff_s6 = &Elf32_Ehdr_00010000" (identifier "unaff_s6") (= "=") (pointer_expression "&Elf32_Ehdr_00010000" (& "&") (identifier "Elf32_Ehdr_00010000"))) (; ";")) (goto_statement "goto LAB_000a3e78;" (goto "goto") (statement_identifier "LAB_000a3e78") (; ";")) (} "}"))) (expression_statement "pEVar26 = (Elf32_Ehdr *)0xfcb0;" (assignment_expression "pEVar26 = (Elf32_Ehdr *)0xfcb0" (identifier "pEVar26") (= "=") (cast_expression "(Elf32_Ehdr *)0xfcb0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfcb0"))) (; ";")) (expression_statement "iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();" (assignment_expression "iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))()" (identifier "iVar10") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x75c0))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x75c0)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b740 + -0x75c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b740 + -0x75c0)" (( "(") (binary_expression "PTR_LAB_0015b740 + -0x75c0" (identifier "PTR_LAB_0015b740") (+ "+") (number_literal "-0x75c0")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar10 != 0) goto LAB_000a3fdc;" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a3fdc;" (goto "goto") (statement_identifier "LAB_000a3fdc") (; ";"))) (expression_statement "unaff_s7 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)0x0" (identifier "unaff_s7") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s6 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)0x0" (identifier "unaff_s6") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar8 = pbVar34;" (assignment_expression "pbVar8 = pbVar34" (identifier "pbVar8") (= "=") (identifier "pbVar34")) (; ";")) (} "}")) (else_clause "else {\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" (else "else") (compound_statement "{\nLAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }\n        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }\n        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);\n        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n        *pbVar39 = (byte)((uint)unaff_s6 >> 8);\n        *pbVar37 = (byte)unaff_s6;\n        pbVar8 = pbVar34 + (int)unaff_s6;\n      }" ({ "{") (labeled_statement "LAB_000a3e78:\n        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" (statement_identifier "LAB_000a3e78") (: ":") (if_statement "if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)) {\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" (if "if") (parenthesized_expression "(((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6))" (( "(") (binary_expression "((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&\n           (unaff_s7->e_ident_magic_str < unaff_s6)" (parenthesized_expression "((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0))" (( "(") (binary_expression "(pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)" (parenthesized_expression "(pbVar34[uVar25 + 2] != 0)" (( "(") (binary_expression "pbVar34[uVar25 + 2] != 0" (subscript_expression "pbVar34[uVar25 + 2]" (identifier "pbVar34") ([ "[") (binary_expression "uVar25 + 2" (identifier "uVar25") (+ "+") (number_literal "2")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pbVar34[uVar25 + 1] != 0)" (( "(") (binary_expression "pbVar34[uVar25 + 1] != 0" (subscript_expression "pbVar34[uVar25 + 1]" (identifier "pbVar34") ([ "[") (binary_expression "uVar25 + 1" (identifier "uVar25") (+ "+") (number_literal "1")) (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s7->e_ident_magic_str < unaff_s6)" (( "(") (binary_expression "unaff_s7->e_ident_magic_str < unaff_s6" (field_expression "unaff_s7->e_ident_magic_str" (identifier "unaff_s7") (-> "->") (field_identifier "e_ident_magic_str")) (< "<") (identifier "unaff_s6")) () ")"))) () ")")) (compound_statement "{\n          pEStack_1d8 = (Elf32_Ehdr *)&local_30;\n          pEVar26 = param_1;\n          pEVar48 = param_4;\n          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();\n          if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n        }" ({ "{") (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)&local_30;" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)&local_30" (identifier "pEStack_1d8") (= "=") (cast_expression "(Elf32_Ehdr *)&local_30" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_30" (& "&") (identifier "local_30")))) (; ";")) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" (identifier "pEVar26") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pEVar48 = param_4;" (assignment_expression "pEVar48 = param_4" (identifier "pEVar48") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();" (assignment_expression "pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" (identifier "pbVar8") (= "=") (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5a84))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5a84)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5a84)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b740 + -0x5a84)" (( "(") (binary_expression "PTR_LAB_0015b740 + -0x5a84" (identifier "PTR_LAB_0015b740") (+ "+") (number_literal "-0x5a84")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (pbVar8 != (byte *)0x0) {\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" (if "if") (parenthesized_expression "(pbVar8 != (byte *)0x0)" (( "(") (binary_expression "pbVar8 != (byte *)0x0" (identifier "pbVar8") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);\n            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);\n            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);\n            goto LAB_000a3ec4;\n          }" ({ "{") (expression_statement "unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34)" (identifier "unaff_s6") (= "=") (cast_expression "(Elf32_Ehdr *)(pbVar8 + -(int)pbVar34)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar8 + -(int)pbVar34)" (( "(") (binary_expression "pbVar8 + -(int)pbVar34" (identifier "pbVar8") (+ "+") (unary_expression "-(int)pbVar34" (- "-") (cast_expression "(int)pbVar34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar34")))) () ")")))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" (( "(") (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)unaff_s6 * 0x10000)" (( "(") (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (* "*") (number_literal "0x10000")) () ")"))) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" (identifier "unaff_s7") (= "=") (cast_expression "(Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)unaff_s6 & 0xff)" (( "(") (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s6")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (goto_statement "goto LAB_000a3ec4;" (goto "goto") (statement_identifier "LAB_000a3ec4") (; ";")) (} "}"))) (expression_statement "iVar10 = local_30;" (assignment_expression "iVar10 = local_30" (identifier "iVar10") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 != 0) goto LAB_000a3fdc;" (if "if") (parenthesized_expression "(local_30 != 0)" (( "(") (binary_expression "local_30 != 0" (identifier "local_30") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a3fdc;" (goto "goto") (statement_identifier "LAB_000a3fdc") (; ";"))) (} "}")))) (if_statement "if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }" (if "if") (parenthesized_expression "((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4))" (( "(") (binary_expression "(int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (< "<") (cast_expression "(int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s7->e_ident_magic_str + 1 + (int)param_4)" (( "(") (binary_expression "unaff_s7->e_ident_magic_str + 1 + (int)param_4" (binary_expression "unaff_s7->e_ident_magic_str + 1" (field_expression "unaff_s7->e_ident_magic_str" (identifier "unaff_s7") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "1")) (+ "+") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4"))) () ")")))) () ")")) (compound_statement "{\n          pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));\n          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);\n          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;\n          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }\n          pEVar26 = param_1;\n          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();\n          iVar10 = local_30;\n          if (local_30 != 0) goto LAB_000a3fdc;\n          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);\n        }" ({ "{") (expression_statement "pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));" (assignment_expression "pEVar7 = (Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" (identifier "pEVar7") (= "=") (cast_expression "(Elf32_Ehdr *)\n                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1))" (( "(") (binary_expression "(uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1)" (binary_expression "(uint)*(ushort *)&param_1->e_version" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)&param_1->e_version" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&param_1->e_version" (& "&") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version"))))) (- "-") (cast_expression "(int)(param_4->e_ident_magic_str + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(param_4->e_ident_magic_str + 1)" (( "(") (binary_expression "param_4->e_ident_magic_str + 1" (field_expression "param_4->e_ident_magic_str" (identifier "param_4") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "1")) () ")")))) () ")")))) (; ";")) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5)" (identifier "pEStack_1d8") (= "=") (cast_expression "(Elf32_Ehdr *)(uint)((int)pEVar7 < 5)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)((int)pEVar7 < 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pEVar7 < 5)" (( "(") (binary_expression "(int)pEVar7 < 5" (cast_expression "(int)pEVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar7")) (< "<") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)&DAT_00000004;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&DAT_00000004" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)&DAT_00000004" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (if_statement "if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {\n            pEVar48 = pEVar7;\n          }" (if "if") (parenthesized_expression "(pEStack_1d8 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEStack_1d8 != (Elf32_Ehdr *)0x0" (identifier "pEStack_1d8") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pEVar48 = pEVar7;\n          }" ({ "{") (expression_statement "pEVar48 = pEVar7;" (assignment_expression "pEVar48 = pEVar7" (identifier "pEVar48") (= "=") (identifier "pEVar7")) (; ";")) (} "}"))) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" (identifier "pEVar26") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();" (assignment_expression "local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))()" (identifier "local_30") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))()" (parenthesized_expression "(*(code *)(PTR_LAB_0015b740 + -0x5910))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b740 + -0x5910)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b740 + -0x5910)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b740 + -0x5910)" (( "(") (binary_expression "PTR_LAB_0015b740 + -0x5910" (identifier "PTR_LAB_0015b740") (+ "+") (number_literal "-0x5910")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar10 = local_30;" (assignment_expression "iVar10 = local_30" (identifier "iVar10") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 != 0) goto LAB_000a3fdc;" (if "if") (parenthesized_expression "(local_30 != 0)" (( "(") (binary_expression "local_30 != 0" (identifier "local_30") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a3fdc;" (goto "goto") (statement_identifier "LAB_000a3fdc") (; ";"))) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" (identifier "unaff_s6") (= "=") (cast_expression "(Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1)" (( "(") (binary_expression "(CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1" (parenthesized_expression "(CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff)" (( "(") (binary_expression "CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff" (binary_expression "CONCAT11(*pbVar39,*pbVar37) - 1" (call_expression "CONCAT11(*pbVar39,*pbVar37)" (identifier "CONCAT11") (argument_list "(*pbVar39,*pbVar37)" (( "(") (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")) (, ",") (pointer_expression "*pbVar37" (* "*") (identifier "pbVar37")) () ")"))) (- "-") (number_literal "1")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4)" (identifier "unaff_s6") (= "=") (cast_expression "(Elf32_Ehdr *)((int)unaff_s6 - (int)param_4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 - (int)param_4)" (( "(") (binary_expression "(int)unaff_s6 - (int)param_4" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (- "-") (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4"))) () ")")))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)((int)unaff_s6 * 0x10000) >> 0x18)" (( "(") (binary_expression "(uint)((int)unaff_s6 * 0x10000) >> 0x18" (call_expression "(uint)((int)unaff_s6 * 0x10000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)unaff_s6 * 0x10000)" (( "(") (binary_expression "(int)unaff_s6 * 0x10000" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (* "*") (number_literal "0x10000")) () ")"))) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" (identifier "unaff_s7") (= "=") (cast_expression "(Elf32_Ehdr *)((uint)unaff_s6 & 0xff)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)unaff_s6 & 0xff)" (( "(") (binary_expression "(uint)unaff_s6 & 0xff" (cast_expression "(uint)unaff_s6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s6")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "*pbVar39 = (byte)((uint)unaff_s6 >> 8);" (assignment_expression "*pbVar39 = (byte)((uint)unaff_s6 >> 8)" (pointer_expression "*pbVar39" (* "*") (identifier "pbVar39")) (= "=") (call_expression "(byte)((uint)unaff_s6 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)unaff_s6 >> 8)" (( "(") (binary_expression "(uint)unaff_s6 >> 8" (cast_expression "(uint)unaff_s6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s6")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*pbVar37 = (byte)unaff_s6;" (assignment_expression "*pbVar37 = (byte)unaff_s6" (pointer_expression "*pbVar37" (* "*") (identifier "pbVar37")) (= "=") (cast_expression "(byte)unaff_s6" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "unaff_s6"))) (; ";")) (expression_statement "pbVar8 = pbVar34 + (int)unaff_s6;" (assignment_expression "pbVar8 = pbVar34 + (int)unaff_s6" (identifier "pbVar8") (= "=") (binary_expression "pbVar34 + (int)unaff_s6" (identifier "pbVar34") (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")))) (; ";")) (} "}")))) (labeled_statement "LAB_000a3ec4:\n      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;" (statement_identifier "LAB_000a3ec4") (: ":") (expression_statement "*(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;" (assignment_expression "*(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2" (pointer_expression "*(short *)&param_1->e_version" (* "*") (cast_expression "(short *)&param_1->e_version" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&param_1->e_version" (& "&") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version"))))) (= "=") (binary_expression "(*(short *)&param_1->e_version - (short)param_4) + -2" (parenthesized_expression "(*(short *)&param_1->e_version - (short)param_4)" (( "(") (binary_expression "*(short *)&param_1->e_version - (short)param_4" (pointer_expression "*(short *)&param_1->e_version" (* "*") (cast_expression "(short *)&param_1->e_version" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&param_1->e_version" (& "&") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version"))))) (- "-") (cast_expression "(short)param_4" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "param_4"))) () ")")) (+ "+") (number_literal "-2"))) (; ";"))) (if_statement "if (param_6 == (Elf32_Ehdr *)0x0) {\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }\n      else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" (if "if") (parenthesized_expression "(param_6 == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "param_6 == (Elf32_Ehdr *)0x0" (identifier "param_6") (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);\n        pEVar50 = param_4;\n      }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);" (call_expression "(*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0015ba30" (* "*") (cast_expression "(code *)PTR_memcpy_0015ba30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0015ba30"))) () ")")) (argument_list "(pbVar8,param_3,param_4)" (( "(") (identifier "pbVar8") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" (identifier "pEVar50") (= "=") (identifier "param_4")) (; ";")) (} "}")) (else_clause "else {\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" (else "else") (compound_statement "{\n        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;\n        (*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);\n        pbVar8[3] = (byte)param_6;\n        *pbVar8 = bVar24;\n        pbVar8[1] = bVar22;\n        pbVar8[2] = bVar45;\n        pEVar50 = param_4;\n      }" ({ "{") (expression_statement "unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;" (assignment_expression "unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class" (identifier "unaff_s6") (= "=") (cast_expression "(Elf32_Ehdr *)&unaff_s6->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&unaff_s6->e_ident_class" (& "&") (field_expression "unaff_s6->e_ident_class" (identifier "unaff_s6") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (expression_statement "(*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);" (call_expression "(*(code *)PTR_memcpy_0015ba30)\n                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0015ba30" (* "*") (cast_expression "(code *)PTR_memcpy_0015ba30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0015ba30"))) () ")")) (argument_list "(pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum)" (( "(") (binary_expression "pbVar34 + (int)unaff_s6" (identifier "pbVar34") (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) (, ",") (pointer_expression "&param_3->e_ident_class" (& "&") (field_expression "param_3->e_ident_class" (identifier "param_3") (-> "->") (field_identifier "e_ident_class"))) (, ",") (pointer_expression "&param_4[-1].e_shnum" (& "&") (field_expression "param_4[-1].e_shnum" (subscript_expression "param_4[-1]" (identifier "param_4") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum"))) () ")"))) (; ";")) (expression_statement "pbVar8[3] = (byte)param_6;" (assignment_expression "pbVar8[3] = (byte)param_6" (subscript_expression "pbVar8[3]" (identifier "pbVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(byte)param_6" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "param_6"))) (; ";")) (expression_statement "*pbVar8 = bVar24;" (assignment_expression "*pbVar8 = bVar24" (pointer_expression "*pbVar8" (* "*") (identifier "pbVar8")) (= "=") (identifier "bVar24")) (; ";")) (expression_statement "pbVar8[1] = bVar22;" (assignment_expression "pbVar8[1] = bVar22" (subscript_expression "pbVar8[1]" (identifier "pbVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "bVar22")) (; ";")) (expression_statement "pbVar8[2] = bVar45;" (assignment_expression "pbVar8[2] = bVar45" (subscript_expression "pbVar8[2]" (identifier "pbVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "bVar45")) (; ";")) (expression_statement "pEVar50 = param_4;" (assignment_expression "pEVar50 = param_4" (identifier "pEVar50") (= "=") (identifier "param_4")) (; ";")) (} "}")))) (expression_statement "param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);" (assignment_expression "param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" (identifier "param_6") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2)" (( "(") (binary_expression "*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2" (pointer_expression "*(int *)(param_1[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(param_1[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1].e_ident_pad + 3)" (( "(") (binary_expression "param_1[1].e_ident_pad + 3" (field_expression "param_1[1].e_ident_pad" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")")))) (+ "+") (binary_expression "(int)param_2 * 2" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" (identifier "pEStack_1d8") (= "=") (cast_expression "(Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)(ushort)param_1->e_version - (int)param_2) * 2)" (( "(") (binary_expression "((uint)(ushort)param_1->e_version - (int)param_2) * 2" (parenthesized_expression "((uint)(ushort)param_1->e_version - (int)param_2)" (( "(") (binary_expression "(uint)(ushort)param_1->e_version - (int)param_2" (cast_expression "(uint)(ushort)param_1->e_version" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(ushort)param_1->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version")))) (- "-") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pEVar48 = param_6;" (assignment_expression "pEVar48 = param_6" (identifier "pEVar48") (= "=") (identifier "param_6")) (; ";")) (expression_statement "(*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);" (call_expression "(*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1)" (parenthesized_expression "(*(code *)PTR_memmove_0015ba3c)" (( "(") (pointer_expression "*(code *)PTR_memmove_0015ba3c" (* "*") (cast_expression "(code *)PTR_memmove_0015ba3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_0015ba3c"))) () ")")) (argument_list "(param_6->e_ident_magic_str + 1)" (( "(") (binary_expression "param_6->e_ident_magic_str + 1" (field_expression "param_6->e_ident_magic_str" (identifier "param_6") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "param_6->e_ident_magic_num = (byte)pEVar49;" (assignment_expression "param_6->e_ident_magic_num = (byte)pEVar49" (field_expression "param_6->e_ident_magic_num" (identifier "param_6") (-> "->") (field_identifier "e_ident_magic_num")) (= "=") (cast_expression "(byte)pEVar49" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pEVar49"))) (; ";")) (expression_statement "param_6->e_ident_magic_str[0] = (char)unaff_s7;" (assignment_expression "param_6->e_ident_magic_str[0] = (char)unaff_s7" (subscript_expression "param_6->e_ident_magic_str[0]" (field_expression "param_6->e_ident_magic_str" (identifier "param_6") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char)unaff_s7" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "unaff_s7"))) (; ";")) (expression_statement "pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);" (assignment_expression "pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4)" (identifier "pEVar26") (= "=") (cast_expression "(Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar34 + param_1->e_ident_pad[0] + 4)" (( "(") (binary_expression "pbVar34 + param_1->e_ident_pad[0] + 4" (binary_expression "pbVar34 + param_1->e_ident_pad[0]" (identifier "pbVar34") (+ "+") (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "*(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;" (assignment_expression "*(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1" (pointer_expression "*(short *)((int)&param_1->e_version + 2)" (* "*") (cast_expression "(short *)((int)&param_1->e_version + 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&param_1->e_version + 2)" (( "(") (binary_expression "(int)&param_1->e_version + 2" (cast_expression "(int)&param_1->e_version" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&param_1->e_version" (& "&") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version")))) (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "(short)param_1->e_version + 1" (cast_expression "(short)param_1->e_version" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar22 = pEVar26->e_ident_magic_num + 1;" (assignment_expression "bVar22 = pEVar26->e_ident_magic_num + 1" (identifier "bVar22") (= "=") (binary_expression "pEVar26->e_ident_magic_num + 1" (field_expression "pEVar26->e_ident_magic_num" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_magic_num")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pEVar26->e_ident_magic_num = bVar22;" (assignment_expression "pEVar26->e_ident_magic_num = bVar22" (field_expression "pEVar26->e_ident_magic_num" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_magic_num")) (= "=") (identifier "bVar22")) (; ";")) (if_statement "if (bVar22 == 0) {\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }" (if "if") (parenthesized_expression "(bVar22 == 0)" (( "(") (binary_expression "bVar22 == 0" (identifier "bVar22") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;\n      }" ({ "{") (expression_statement "pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;" (assignment_expression "pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1" (subscript_expression "pbVar34[param_1->e_ident_pad[0] + 3]" (identifier "pbVar34") ([ "[") (binary_expression "param_1->e_ident_pad[0] + 3" (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "3")) (] "]")) (= "=") (binary_expression "pbVar34[param_1->e_ident_pad[0] + 3] + 1" (subscript_expression "pbVar34[param_1->e_ident_pad[0] + 3]" (identifier "pbVar34") ([ "[") (binary_expression "param_1->e_ident_pad[0] + 3" (subscript_expression "param_1->e_ident_pad[0]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "3")) (] "]")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0'" (pointer_expression "*(char *)(*(int *)(param_1 + 1) + 0x11)" (* "*") (cast_expression "(char *)(*(int *)(param_1 + 1) + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 1) + 0x11)" (( "(") (binary_expression "*(int *)(param_1 + 1) + 0x11" (pointer_expression "*(int *)(param_1 + 1)" (* "*") (cast_expression "(int *)(param_1 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) () ")")))) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;\n        pEVar26 = param_1;\n        pEStack_1d8 = param_3;\n        pEVar50 = param_7;\n        FUN_000a22e0();\n      }" ({ "{") (expression_statement "pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)&param_1[1].e_ident_abiversion" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&param_1[1].e_ident_abiversion" (& "&") (field_expression "param_1[1].e_ident_abiversion" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_abiversion"))))) (; ";")) (expression_statement "pEVar26 = param_1;" (assignment_expression "pEVar26 = param_1" (identifier "pEVar26") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pEStack_1d8 = param_3;" (assignment_expression "pEStack_1d8 = param_3" (identifier "pEStack_1d8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pEVar50 = param_7;" (assignment_expression "pEVar50 = param_7" (identifier "pEVar50") (= "=") (identifier "param_7")) (; ";")) (expression_statement "FUN_000a22e0();" (call_expression "FUN_000a22e0()" (identifier "FUN_000a22e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" (else "else") (compound_statement "{\nLAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);\n      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);\n      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);\n      param_7->e_ident_magic_str[2] = (char)iVar10;\n    }" ({ "{") (labeled_statement "LAB_000a3fdc:\n      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);" (statement_identifier "LAB_000a3fdc") (: ":") (expression_statement "param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);" (assignment_expression "param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18)" (field_expression "param_7->e_ident_magic_num" (identifier "param_7") (-> "->") (field_identifier "e_ident_magic_num")) (= "=") (cast_expression "(char)((uint)iVar10 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar10 >> 0x18)" (( "(") (binary_expression "(uint)iVar10 >> 0x18" (cast_expression "(uint)iVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar10")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";"))) (expression_statement "param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);" (assignment_expression "param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10)" (subscript_expression "param_7->e_ident_magic_str[0]" (field_expression "param_7->e_ident_magic_str" (identifier "param_7") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char)((uint)iVar10 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar10 >> 0x10)" (( "(") (binary_expression "(uint)iVar10 >> 0x10" (cast_expression "(uint)iVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar10")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);" (assignment_expression "param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8)" (subscript_expression "param_7->e_ident_magic_str[1]" (field_expression "param_7->e_ident_magic_str" (identifier "param_7") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)((uint)iVar10 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar10 >> 8)" (( "(") (binary_expression "(uint)iVar10 >> 8" (cast_expression "(uint)iVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar10")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_7->e_ident_magic_str[2] = (char)iVar10;" (assignment_expression "param_7->e_ident_magic_str[2] = (char)iVar10" (subscript_expression "param_7->e_ident_magic_str[2]" (field_expression "param_7->e_ident_magic_str" (identifier "param_7") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)iVar10" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar10"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" (else "else") (compound_statement "{\n    pEVar7 = param_3;\n    if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }\n    if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }\n    uVar25 = (uint)param_1->e_ident_pad[3];\n    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);\n    param_1->e_ident_pad[3] = (byte)pEVar26;\n    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;\n    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;\n    param_3 = pEVar7;\n  }" ({ "{") (expression_statement "pEVar7 = param_3;" (assignment_expression "pEVar7 = param_3" (identifier "pEVar7") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_5 != 0) {\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);\n      pEVar48 = param_3;\n      pEStack_1d8 = param_4;\n    }" ({ "{") (expression_statement "pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);" (assignment_expression "pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5)" (identifier "pEVar7") (= "=") (cast_expression "(Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_memcpy_0015ba30)(param_5)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0015ba30" (* "*") (cast_expression "(code *)PTR_memcpy_0015ba30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0015ba30"))) () ")")) (argument_list "(param_5)" (( "(") (identifier "param_5") () ")"))))) (; ";")) (expression_statement "pEVar48 = param_3;" (assignment_expression "pEVar48 = param_3" (identifier "pEVar48") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pEStack_1d8 = param_4;" (assignment_expression "pEStack_1d8 = param_4" (identifier "pEStack_1d8") (= "=") (identifier "param_4")) (; ";")) (} "}"))) (if_statement "if (param_6 != (Elf32_Ehdr *)0x0) {\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }" (if "if") (parenthesized_expression "(param_6 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "param_6 != (Elf32_Ehdr *)0x0" (identifier "param_6") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pEVar7->e_ident_magic_str[2] = (byte)param_6;\n      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);\n      pEVar7->e_ident_magic_num = bVar24;\n      pEVar7->e_ident_magic_str[0] = bVar22;\n      pEVar7->e_ident_magic_str[1] = bVar45;\n    }" ({ "{") (expression_statement "pEVar7->e_ident_magic_str[2] = (byte)param_6;" (assignment_expression "pEVar7->e_ident_magic_str[2] = (byte)param_6" (subscript_expression "pEVar7->e_ident_magic_str[2]" (field_expression "pEVar7->e_ident_magic_str" (identifier "pEVar7") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(byte)param_6" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "param_6"))) (; ";")) (expression_statement "param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);" (assignment_expression "param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8)" (identifier "param_6") (= "=") (cast_expression "(Elf32_Ehdr *)((uint)param_6 >> 8)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)param_6 >> 8)" (( "(") (binary_expression "(uint)param_6 >> 8" (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "pEVar7->e_ident_magic_num = bVar24;" (assignment_expression "pEVar7->e_ident_magic_num = bVar24" (field_expression "pEVar7->e_ident_magic_num" (identifier "pEVar7") (-> "->") (field_identifier "e_ident_magic_num")) (= "=") (identifier "bVar24")) (; ";")) (expression_statement "pEVar7->e_ident_magic_str[0] = bVar22;" (assignment_expression "pEVar7->e_ident_magic_str[0] = bVar22" (subscript_expression "pEVar7->e_ident_magic_str[0]" (field_expression "pEVar7->e_ident_magic_str" (identifier "pEVar7") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "bVar22")) (; ";")) (expression_statement "pEVar7->e_ident_magic_str[1] = bVar45;" (assignment_expression "pEVar7->e_ident_magic_str[1] = bVar45" (subscript_expression "pEVar7->e_ident_magic_str[1]" (field_expression "pEVar7->e_ident_magic_str" (identifier "pEVar7") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "bVar45")) (; ";")) (} "}"))) (expression_statement "uVar25 = (uint)param_1->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)param_1->e_ident_pad[3]" (identifier "uVar25") (= "=") (cast_expression "(uint)param_1->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);" (assignment_expression "pEVar26 = (Elf32_Ehdr *)(uVar25 + 1)" (identifier "pEVar26") (= "=") (cast_expression "(Elf32_Ehdr *)(uVar25 + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar25 + 1)" (( "(") (binary_expression "uVar25 + 1" (identifier "uVar25") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_1->e_ident_pad[3] = (byte)pEVar26;" (assignment_expression "param_1->e_ident_pad[3] = (byte)pEVar26" (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(byte)pEVar26" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pEVar26"))) (; ";")) (expression_statement "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;" (assignment_expression "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7" (pointer_expression "*(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" (* "*") (cast_expression "(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1->e_ident_pad + uVar25 * 4 + 0x1b)" (( "(") (binary_expression "param_1->e_ident_pad + uVar25 * 4 + 0x1b" (binary_expression "param_1->e_ident_pad + uVar25 * 4" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) (+ "+") (binary_expression "uVar25 * 4" (identifier "uVar25") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x1b")) () ")")))) (= "=") (identifier "pEVar7")) (; ";")) (expression_statement "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;" (assignment_expression "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2" (pointer_expression "*(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11)" (* "*") (cast_expression "(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1->e_ident_pad + uVar25 * 2 + 0x11)" (( "(") (binary_expression "param_1->e_ident_pad + uVar25 * 2 + 0x11" (binary_expression "param_1->e_ident_pad + uVar25 * 2" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) (+ "+") (binary_expression "uVar25 * 2" (identifier "uVar25") (* "*") (number_literal "2"))) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (cast_expression "(short)param_2" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "param_3 = pEVar7;" (assignment_expression "param_3 = pEVar7" (identifier "param_3") (= "=") (identifier "pEVar7")) (; ";")) (} "}")))) (if_statement "if (local_2c == *(Elf32_Ehdr **)pEVar47) {\n    return *(Elf32_Ehdr **)pEVar47;\n  }" (if "if") (parenthesized_expression "(local_2c == *(Elf32_Ehdr **)pEVar47)" (( "(") (binary_expression "local_2c == *(Elf32_Ehdr **)pEVar47" (identifier "local_2c") (== "==") (pointer_expression "*(Elf32_Ehdr **)pEVar47" (* "*") (cast_expression "(Elf32_Ehdr **)pEVar47" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEVar47")))) () ")")) (compound_statement "{\n    return *(Elf32_Ehdr **)pEVar47;\n  }" ({ "{") (return_statement "return *(Elf32_Ehdr **)pEVar47;" (return "return") (pointer_expression "*(Elf32_Ehdr **)pEVar47" (* "*") (cast_expression "(Elf32_Ehdr **)pEVar47" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEVar47"))) (; ";")) (} "}"))) (expression_statement "pcVar55 = FUN_000a4120;" (assignment_expression "pcVar55 = FUN_000a4120" (identifier "pcVar55") (= "=") (identifier "FUN_000a4120")) (; ";")) (expression_statement "puVar53 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar53 = PTR___stack_chk_fail_0015ba10" (identifier "puVar53") (= "=") (identifier "PTR___stack_chk_fail_0015ba10")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar9 = *(int **)(puVar53 + 0xb790c);" (assignment_expression "piVar9 = *(int **)(puVar53 + 0xb790c)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(puVar53 + 0xb790c)" (* "*") (cast_expression "(int **)(puVar53 + 0xb790c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb790c)" (( "(") (binary_expression "puVar53 + 0xb790c" (identifier "puVar53") (+ "+") (number_literal "0xb790c")) () ")"))))) (; ";")) (expression_statement "pEStack_60 = param_7;" (assignment_expression "pEStack_60 = param_7" (identifier "pEStack_60") (= "=") (identifier "param_7")) (; ";")) (expression_statement "puStack_74 = &pEVar47->e_ident_magic_num;" (assignment_expression "puStack_74 = &pEVar47->e_ident_magic_num" (identifier "puStack_74") (= "=") (pointer_expression "&pEVar47->e_ident_magic_num" (& "&") (field_expression "pEVar47->e_ident_magic_num" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_magic_num")))) (; ";")) (expression_statement "auStack_188._0_4_ = (Elf32_Ehdr *)0x0;" (assignment_expression "auStack_188._0_4_ = (Elf32_Ehdr *)0x0" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uStack_8c = 0;" (assignment_expression "uStack_8c = 0" (identifier "uStack_8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_88 = 0;" (assignment_expression "uStack_88 = 0" (identifier "uStack_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "auStack_cc._0_4_ = 0;" (assignment_expression "auStack_cc._0_4_ = 0" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_c4 = 0;" (assignment_expression "iStack_c4 = 0" (identifier "iStack_c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_84 = *piVar9;" (assignment_expression "iStack_84 = *piVar9" (identifier "iStack_84") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);" (assignment_expression "pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1)" (identifier "pEVar7") (= "=") (pointer_expression "*(Elf32_Ehdr **)(pEVar26 + 1)" (* "*") (cast_expression "(Elf32_Ehdr **)(pEVar26 + 1)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pEVar26 + 1)" (( "(") (binary_expression "pEVar26 + 1" (identifier "pEVar26") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "pEStack_80 = param_1;" (assignment_expression "pEStack_80 = param_1" (identifier "pEStack_80") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pEStack_7c = param_6;" (assignment_expression "pEStack_7c = param_6" (identifier "pEStack_7c") (= "=") (identifier "param_6")) (; ";")) (expression_statement "pEStack_78 = param_3;" (assignment_expression "pEStack_78 = param_3" (identifier "pEStack_78") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pEStack_70 = pEVar49;" (assignment_expression "pEStack_70 = pEVar49" (identifier "pEStack_70") (= "=") (identifier "pEVar49")) (; ";")) (expression_statement "pEStack_6c = param_2;" (assignment_expression "pEStack_6c = param_2" (identifier "pEStack_6c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pEStack_68 = unaff_s6;" (assignment_expression "pEStack_68 = unaff_s6" (identifier "pEStack_68") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pEStack_64 = unaff_s7;" (assignment_expression "pEStack_64 = unaff_s7" (identifier "pEStack_64") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pcStack_5c = pcVar55;" (assignment_expression "pcStack_5c = pcVar55" (identifier "pcStack_5c") (= "=") (identifier "pcVar55")) (; ";")) (expression_statement "pEStack_54 = pEVar48;" (assignment_expression "pEStack_54 = pEVar48" (identifier "pEStack_54") (= "=") (identifier "pEVar48")) (; ";")) (expression_statement "pEStack_4c = pEVar50;" (assignment_expression "pEStack_4c = pEVar50" (identifier "pEStack_4c") (= "=") (identifier "pEVar50")) (; ";")) (if_statement "if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }" (if "if") (parenthesized_expression "(pEStack_1d8 == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEStack_1d8 == (Elf32_Ehdr *)0x0" (identifier "pEStack_1d8") (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;\n    goto LAB_000a44d0;\n  }" ({ "{") (expression_statement "pEVar48 = (Elf32_Ehdr *)&DAT_00000007;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&DAT_00000007" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)&DAT_00000007" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (goto_statement "goto LAB_000a44d0;" (goto "goto") (statement_identifier "LAB_000a44d0") (; ";")) (} "}"))) (expression_statement "uVar25 = (uint)(ushort)pEVar26->e_version;" (assignment_expression "uVar25 = (uint)(ushort)pEVar26->e_version" (identifier "uVar25") (= "=") (cast_expression "(uint)(ushort)pEVar26->e_version" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(ushort)pEVar26->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEVar26->e_version" (identifier "pEVar26") (-> "->") (field_identifier "e_version"))))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar26->e_ident_pad[3] + uVar25)" (( "(") (binary_expression "pEVar26->e_ident_pad[3] + uVar25" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "uVar25")) () ")")))) (; ";")) (if_statement "if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }\n  else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" (if "if") (parenthesized_expression "(pEVar49 < (Elf32_Ehdr *)&SUB_00000002)" (( "(") (binary_expression "pEVar49 < (Elf32_Ehdr *)&SUB_00000002" (identifier "pEVar49") (< "<") (cast_expression "(Elf32_Ehdr *)&SUB_00000002" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) () ")")) (compound_statement "{\n    iVar10._0_1_ = pEVar26[1].e_ident_class;\n    iVar10._1_1_ = pEVar26[1].e_ident_data;\n    iVar10._2_1_ = pEVar26[1].e_ident_version;\n    iVar10._3_1_ = pEVar26[1].e_ident_osabi;\n    pEStack_54 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = pEVar49;\nLAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);\n  }" ({ "{") (expression_statement "iVar10._0_1_ = pEVar26[1].e_ident_class;" (assignment_expression "iVar10._0_1_ = pEVar26[1].e_ident_class" (field_expression "iVar10._0_1_" (identifier "iVar10") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class"))) (; ";")) (expression_statement "iVar10._1_1_ = pEVar26[1].e_ident_data;" (assignment_expression "iVar10._1_1_ = pEVar26[1].e_ident_data" (field_expression "iVar10._1_1_" (identifier "iVar10") (. ".") (field_identifier "_1_1_")) (= "=") (field_expression "pEVar26[1].e_ident_data" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_data"))) (; ";")) (expression_statement "iVar10._2_1_ = pEVar26[1].e_ident_version;" (assignment_expression "iVar10._2_1_ = pEVar26[1].e_ident_version" (field_expression "iVar10._2_1_" (identifier "iVar10") (. ".") (field_identifier "_2_1_")) (= "=") (field_expression "pEVar26[1].e_ident_version" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_version"))) (; ";")) (expression_statement "iVar10._3_1_ = pEVar26[1].e_ident_osabi;" (assignment_expression "iVar10._3_1_ = pEVar26[1].e_ident_osabi" (field_expression "iVar10._3_1_" (identifier "iVar10") (. ".") (field_identifier "_3_1_")) (= "=") (field_expression "pEVar26[1].e_ident_osabi" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_osabi"))) (; ";")) (expression_statement "pEStack_54 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)0x0" (identifier "pEStack_54") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pEStack_1d4 = pEVar49;" (assignment_expression "pEStack_1d4 = pEVar49" (identifier "pEStack_1d4") (= "=") (identifier "pEVar49")) (; ";")) (labeled_statement "LAB_000a49d0:\n    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);" (statement_identifier "LAB_000a49d0") (: ":") (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8)" (identifier "pEStack_1c8") (= "=") (cast_expression "(Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + pEVar26->e_ident_pad[0] + 8)" (( "(") (binary_expression "iVar10 + pEVar26->e_ident_pad[0] + 8" (binary_expression "iVar10 + pEVar26->e_ident_pad[0]" (identifier "iVar10") (+ "+") (subscript_expression "pEVar26->e_ident_pad[0]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "8")) () ")")))) (; ";"))) (} "}")) (else_clause "else {\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" (else "else") (compound_statement "{\n    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;\n    pEVar50 = pEStack_1d4;\n    if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }\n    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];\n    iVar10 = *(int *)&pEVar26[1].e_ident_class;\n    if (uVar25 == uVar23) goto LAB_000a49d0;\n    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;\n    pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));\n  }" ({ "{") (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52" (identifier "pEStack_1d4") (= "=") (cast_expression "(Elf32_Ehdr *)0xffe9ca52" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffe9ca52"))) (; ";")) (expression_statement "pEVar50 = pEStack_1d4;" (assignment_expression "pEVar50 = pEStack_1d4" (identifier "pEVar50") (= "=") (identifier "pEStack_1d4")) (; ";")) (if_statement "if (pEVar48 != (Elf32_Ehdr *)0x0) {\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }" (if "if") (parenthesized_expression "(pEVar48 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEVar48 != (Elf32_Ehdr *)0x0" (identifier "pEVar48") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }\n    }" ({ "{") (if_statement "if (pEVar49 == pEVar48) {\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }\n      else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" (if "if") (parenthesized_expression "(pEVar49 == pEVar48)" (( "(") (binary_expression "pEVar49 == pEVar48" (identifier "pEVar49") (== "==") (identifier "pEVar48")) () ")")) (compound_statement "{\n        pEVar50 = pEVar48;\n        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);\n      }" ({ "{") (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" (identifier "pEVar50") (= "=") (identifier "pEVar48")) (; ";")) (expression_statement "pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1)" (identifier "pEStack_54") (= "=") (cast_expression "(Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar48[0x6d57].e_ident_magic_str + 1)" (( "(") (binary_expression "pEVar48[0x6d57].e_ident_magic_str + 1" (field_expression "pEVar48[0x6d57].e_ident_magic_str" (subscript_expression "pEVar48[0x6d57]" (identifier "pEVar48") ([ "[") (number_literal "0x6d57") (] "]")) (. ".") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" (else "else") (compound_statement "{\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);\n        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      }" ({ "{") (expression_statement "pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1)" (identifier "pEVar50") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar48[-0x6d58].e_shnum + 1)" (( "(") (binary_expression "(int)&pEVar48[-0x6d58].e_shnum + 1" (cast_expression "(int)&pEVar48[-0x6d58].e_shnum" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar48[-0x6d58].e_shnum" (& "&") (field_expression "pEVar48[-0x6d58].e_shnum" (subscript_expression "pEVar48[-0x6d58]" (identifier "pEVar48") ([ "[") (number_literal "-0x6d58") (] "]")) (. ".") (field_identifier "e_shnum")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" (identifier "pEStack_54") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar48[-1].e_shstrndx" (& "&") (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" (identifier "pEVar48") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];" (assignment_expression "uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3]" (identifier "uVar23") (= "=") (binary_expression "(int)pEVar50 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (- "-") (cast_expression "(uint)pEVar26->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]"))))) (; ";")) (expression_statement "iVar10 = *(int *)&pEVar26[1].e_ident_class;" (assignment_expression "iVar10 = *(int *)&pEVar26[1].e_ident_class" (identifier "iVar10") (= "=") (pointer_expression "*(int *)&pEVar26[1].e_ident_class" (* "*") (cast_expression "(int *)&pEVar26[1].e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26[1].e_ident_class" (& "&") (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) (; ";")) (if_statement "if (uVar25 == uVar23) goto LAB_000a49d0;" (if "if") (parenthesized_expression "(uVar25 == uVar23)" (( "(") (binary_expression "uVar25 == uVar23" (identifier "uVar25") (== "==") (identifier "uVar23")) () ")")) (goto_statement "goto LAB_000a49d0;" (goto "goto") (statement_identifier "LAB_000a49d0") (; ";"))) (expression_statement "uVar25 = (uint)*(ushort *)&pEVar26->e_entry;" (assignment_expression "uVar25 = (uint)*(ushort *)&pEVar26->e_entry" (identifier "uVar25") (= "=") (binary_expression "(uint)*(ushort *)&pEVar26->e_entry" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)&pEVar26->e_entry" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26->e_entry" (& "&") (field_expression "pEVar26->e_entry" (identifier "pEVar26") (-> "->") (field_identifier "e_entry")))))) (; ";")) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry));" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" (identifier "pEStack_1c8") (= "=") (cast_expression "(Elf32_Ehdr *)\n                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry))" (( "(") (binary_expression "iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" (identifier "iVar10") (+ "+") (call_expression "(uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry)" (( "(") (binary_expression "*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &\n                                  *(ushort *)&pEVar26->e_entry" (pointer_expression "*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" (* "*") (cast_expression "(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2)" (( "(") (binary_expression "*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2" (pointer_expression "*(int *)(pEVar26[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar26[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar26[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar26[1].e_ident_pad + 3" (field_expression "pEVar26[1].e_ident_pad" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")")))) (+ "+") (binary_expression "uVar23 * 2" (identifier "uVar23") (* "*") (number_literal "2"))) () ")")))) (& "&") (pointer_expression "*(ushort *)&pEVar26->e_entry" (* "*") (cast_expression "(ushort *)&pEVar26->e_entry" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26->e_entry" (& "&") (field_expression "pEVar26->e_entry" (identifier "pEVar26") (-> "->") (field_identifier "e_entry")))))) () ")")))) () ")")))) (; ";")) (} "}")))) (expression_statement "ppEStack_1dc = &pEStack_150;" (assignment_expression "ppEStack_1dc = &pEStack_150" (identifier "ppEStack_1dc") (= "=") (pointer_expression "&pEStack_150" (& "&") (identifier "pEStack_150"))) (; ";")) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c)" (identifier "pEStack_1c4") (= "=") (cast_expression "(Elf32_Ehdr *)(auStack_180 + 0x1c)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_180 + 0x1c)" (( "(") (binary_expression "auStack_180 + 0x1c" (identifier "auStack_180") (+ "+") (number_literal "0x1c")) () ")")))) (; ";")) (expression_statement "puStack_1e0 = auStack_188;" (assignment_expression "puStack_1e0 = auStack_188" (identifier "puStack_1e0") (= "=") (identifier "auStack_188")) (; ";")) (expression_statement "iStack_1d0 = (int)pEStack_1d4 * 4;" (assignment_expression "iStack_1d0 = (int)pEStack_1d4 * 4" (identifier "iStack_1d0") (= "=") (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1d4")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "uVar23 = (uint)pEStack_1c8 & 3;" (assignment_expression "uVar23 = (uint)pEStack_1c8 & 3" (identifier "uVar23") (= "=") (binary_expression "(uint)pEStack_1c8 & 3" (cast_expression "(uint)pEStack_1c8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pEStack_1c8")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;" (assignment_expression "ppEVar43 = ppEStack_1dc + (int)pEStack_1d4" (identifier "ppEVar43") (= "=") (binary_expression "ppEStack_1dc + (int)pEStack_1d4" (identifier "ppEStack_1dc") (+ "+") (cast_expression "(int)pEStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1d4")))) (; ";")) (expression_statement "pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;" (assignment_expression "pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1" (identifier "pcVar46") (= "=") (binary_expression "pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1" (binary_expression "pEStack_1c4->e_ident_magic_str + iStack_1d0" (field_expression "pEStack_1c4->e_ident_magic_str" (identifier "pEStack_1c4") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iStack_1d0")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc)" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x6acc)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x6acc" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x6acc")) () ")")))) (; ";")) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)0x0" (identifier "pEStack_1f4") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pEStack_1ec = &EStack_108;" (assignment_expression "pEStack_1ec = &EStack_108" (identifier "pEStack_1ec") (= "=") (pointer_expression "&EStack_108" (& "&") (identifier "EStack_108"))) (; ";")) (expression_statement "uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;" (assignment_expression "uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3" (identifier "uVar32") (= "=") (binary_expression "(uint)(pEStack_1c8->e_ident_magic_str + 2) & 3" (call_expression "(uint)(pEStack_1c8->e_ident_magic_str + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pEStack_1c8->e_ident_magic_str + 2)" (( "(") (binary_expression "pEStack_1c8->e_ident_magic_str + 2" (field_expression "pEStack_1c8->e_ident_magic_str" (identifier "pEStack_1c8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "2")) () ")"))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;" (assignment_expression "auStack_188._4_4_ =\n       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")) (= "=") (binary_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8 |\n       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (binary_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       ) & -1 << (uVar32 + 1) * 8" (parenthesized_expression "(*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8\n       )" (( "(") (binary_expression "*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8" (binary_expression "*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8" (pointer_expression "*(int *)((int)pEStack_1c8 - uVar23)" (* "*") (cast_expression "(int *)((int)pEStack_1c8 - uVar23)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEStack_1c8 - uVar23)" (( "(") (binary_expression "(int)pEStack_1c8 - uVar23" (cast_expression "(int)pEStack_1c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1c8")) (- "-") (identifier "uVar23")) () ")")))) (<< "<<") (binary_expression "uVar23 * 8" (identifier "uVar23") (* "*") (number_literal "8"))) (| "|") (binary_expression "uVar25 & 0xffffffffU >> (4 - uVar23) * 8" (identifier "uVar25") (& "&") (binary_expression "0xffffffffU >> (4 - uVar23) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" (( "(") (binary_expression "4 - uVar23" (number_literal "4") (- "-") (identifier "uVar23")) () ")")) (* "*") (number_literal "8"))))) () ")")) (& "&") (binary_expression "-1 << (uVar32 + 1) * 8" (number_literal "-1") (<< "<<") (binary_expression "(uVar32 + 1) * 8" (parenthesized_expression "(uVar32 + 1)" (( "(") (binary_expression "uVar32 + 1" (identifier "uVar32") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "*(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8" (pointer_expression "*(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" (* "*") (cast_expression "(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1c8->e_ident_magic_str + 2 + -uVar32)" (( "(") (binary_expression "pEStack_1c8->e_ident_magic_str + 2 + -uVar32" (binary_expression "pEStack_1c8->e_ident_magic_str + 2" (field_expression "pEStack_1c8->e_ident_magic_str" (identifier "pEStack_1c8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "2")) (+ "+") (unary_expression "-uVar32" (- "-") (identifier "uVar32"))) () ")")))) (>> ">>") (binary_expression "(3 - uVar32) * 8" (parenthesized_expression "(3 - uVar32)" (( "(") (binary_expression "3 - uVar32" (number_literal "3") (- "-") (identifier "uVar32")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (expression_statement "pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);" (assignment_expression "pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68)" (identifier "pcStack_1e4") (= "=") (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5c68)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5c68" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x5c68")) () ")")))) (; ";")) (expression_statement "pEVar48 = pEStack_1d4;" (assignment_expression "pEVar48 = pEStack_1d4" (identifier "pEVar48") (= "=") (identifier "pEStack_1d4")) (; ";")) (while_statement "while( true ) {\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);\n    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);\n    pEVar50 = param_2;\n    pEVar51 = pEVar26;\n    pEVar54 = pEVar7;\n    auStack_188._0_4_ = param_2;\n    if (param_2 != (Elf32_Ehdr *)0x0) break;\n    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n    pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);\n    unaff_s7 = param_2;\n    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }\n    pcVar55 = (code *)pEVar26[1].e_entry;\n    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);\n    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }\n    ppEVar43 = ppEVar43 + -1;\n    pcVar46 = pcVar46 + -4;\n    pEVar48 = pEVar42;\n  }" ({ "{") (expression_statement "param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);" (assignment_expression "param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" (identifier "param_2") (= "=") (cast_expression "(Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" (parenthesized_expression "(*(code *)pEStack_1f0)" (( "(") (pointer_expression "*(code *)pEStack_1f0" (* "*") (cast_expression "(code *)pEStack_1f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1f0"))) () ")")) (argument_list "(pEVar7,auStack_188._4_4_,ppEVar43,0,0)" (( "(") (identifier "pEVar7") (, ",") (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "ppEVar43") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEVar48 * 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEVar48 * 4)" (( "(") (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pEVar50 = param_2;" (assignment_expression "pEVar50 = param_2" (identifier "pEVar50") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (; ";")) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (; ";")) (expression_statement "auStack_188._0_4_ = param_2;" (assignment_expression "auStack_188._0_4_ = param_2" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_2 != (Elf32_Ehdr *)0x0) break;" (if "if") (parenthesized_expression "(param_2 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "param_2 != (Elf32_Ehdr *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" (identifier "pEVar42") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar48[-1].e_shstrndx" (& "&") (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" (identifier "pEVar48") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" (identifier "pEStack_1f4") (= "=") (cast_expression "(Elf32_Ehdr *)\n                  (pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3])" (( "(") (binary_expression "pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]" (binary_expression "pEStack_1f4->e_ident_magic_str +\n                  (uint)(ushort)(*ppEVar43)->e_version" (field_expression "pEStack_1f4->e_ident_magic_str" (identifier "pEStack_1f4") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (field_expression "(uint)(ushort)(*ppEVar43)->e_version" (call_expression "(uint)(ushort)(*ppEVar43)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "(*ppEVar43)" (( "(") (pointer_expression "*ppEVar43" (* "*") (identifier "ppEVar43")) () ")"))) (-> "->") (field_identifier "e_version"))) (+ "+") (subscript_expression "(uint)(*ppEVar43)->e_ident_pad[3]" (field_expression "(uint)(*ppEVar43)->e_ident_pad" (call_expression "(uint)(*ppEVar43)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*ppEVar43)" (( "(") (pointer_expression "*ppEVar43" (* "*") (identifier "ppEVar43")) () ")"))) (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]"))) () ")")))) (; ";")) (expression_statement "unaff_s7 = param_2;" (assignment_expression "unaff_s7 = param_2" (identifier "unaff_s7") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" (if "if") (parenthesized_expression "(pEVar42 == (Elf32_Ehdr *)0xffffffff)" (( "(") (binary_expression "pEVar42 == (Elf32_Ehdr *)0xffffffff" (identifier "pEVar42") (== "==") (cast_expression "(Elf32_Ehdr *)0xffffffff" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);\n      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);\n      if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }\n      pbStack_1c0 = auStack_130 + 0x14;\n      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;\n      auStack_cc._4_4_ = pEStack_150;\n      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];\n      pcStack_1bc = pEStack_1d4->e_ident_magic_str;\n      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);\n      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);\n      pEVar54 = (Elf32_Ehdr *)0x0;\n      pEVar51 = (Elf32_Ehdr *)0x0;\n      uVar3 = (ushort)pEStack_150->e_version;\n      uVar1 = *(ushort *)&pEStack_150->e_entry;\n      pEVar50 = pEStack_150;\n      pbVar34 = pbStack_1c0;\n      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;\n      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;\n      goto LAB_000a46e0;\n    }" ({ "{") (expression_statement "pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);" (assignment_expression "pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc)" (( "(") (binary_expression "(uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc" (call_expression "(uint)(pEStack_1f4->e_ident_magic_str + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pEStack_1f4->e_ident_magic_str + 2)" (( "(") (binary_expression "pEStack_1f4->e_ident_magic_str + 2" (field_expression "pEStack_1f4->e_ident_magic_str" (identifier "pEStack_1f4") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "2")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (expression_statement "iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);" (assignment_expression "iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" (identifier "iStack_c4") (= "=") (call_expression "(*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))\n                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" (* "*") (cast_expression "(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb75b8) + -0x5ca0)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb75b8) + -0x5ca0" (pointer_expression "*(int *)(puVar53 + 0xb75b8)" (* "*") (cast_expression "(int *)(puVar53 + 0xb75b8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb75b8)" (( "(") (binary_expression "puVar53 + 0xb75b8" (identifier "puVar53") (+ "+") (number_literal "0xb75b8")) () ")")))) (+ "+") (number_literal "-0x5ca0")) () ")")))) () ")")) (argument_list "((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f)" (( "(") (binary_expression "(int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f" (cast_expression "(int)((int)pEVar47 * 6 + pEVar7->e_shoff)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pEVar47 * 6 + pEVar7->e_shoff)" (( "(") (binary_expression "(int)pEVar47 * 6 + pEVar7->e_shoff" (binary_expression "(int)pEVar47 * 6" (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")) (* "*") (number_literal "6")) (+ "+") (field_expression "pEVar7->e_shoff" (identifier "pEVar7") (-> "->") (field_identifier "e_shoff"))) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (iStack_c4 == 0) {\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }" (if "if") (parenthesized_expression "(iStack_c4 == 0)" (( "(") (binary_expression "iStack_c4 == 0" (identifier "iStack_c4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        auStack_188._0_4_ = &DAT_00000007;\n        goto LAB_000a4454;\n      }" ({ "{") (expression_statement "auStack_188._0_4_ = &DAT_00000007;" (assignment_expression "auStack_188._0_4_ = &DAT_00000007" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007"))) (; ";")) (goto_statement "goto LAB_000a4454;" (goto "goto") (statement_identifier "LAB_000a4454") (; ";")) (} "}"))) (expression_statement "pbStack_1c0 = auStack_130 + 0x14;" (assignment_expression "pbStack_1c0 = auStack_130 + 0x14" (identifier "pbStack_1c0") (= "=") (binary_expression "auStack_130 + 0x14" (identifier "auStack_130") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;" (assignment_expression "aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "iStack_c4 + (int)pEVar47 * 4" (identifier "iStack_c4") (+ "+") (binary_expression "(int)pEVar47 * 4" (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "auStack_cc._4_4_ = pEStack_150;" (assignment_expression "auStack_cc._4_4_ = pEStack_150" (field_expression "auStack_cc._4_4_" (identifier "auStack_cc") (. ".") (field_identifier "_4_4_")) (= "=") (identifier "pEStack_150")) (; ";")) (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2)" (identifier "pEStack_1f4") (= "=") (cast_expression "(Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + (int)pEVar47 * 2)" (( "(") (binary_expression "aiStack_c0[0] + (int)pEVar47 * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "(int)pEVar47 * 2" (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];" (assignment_expression "pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2]" (identifier "pcStack_1e4") (= "=") (cast_expression "(code *)(uint)(byte)pEStack_150->e_ident_magic_str[2]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(byte)pEStack_150->e_ident_magic_str[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pEStack_150->e_ident_magic_str[2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pEStack_150->e_ident_magic_str[2]" (field_expression "pEStack_150->e_ident_magic_str" (identifier "pEStack_150") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]")))))) (; ";")) (expression_statement "pcStack_1bc = pEStack_1d4->e_ident_magic_str;" (assignment_expression "pcStack_1bc = pEStack_1d4->e_ident_magic_str" (identifier "pcStack_1bc") (= "=") (field_expression "pEStack_1d4->e_ident_magic_str" (identifier "pEStack_1d4") (-> "->") (field_identifier "e_ident_magic_str"))) (; ";")) (expression_statement "puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);" (assignment_expression "puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4)" (identifier "puStack_1e0") (= "=") (cast_expression "(undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)pEStack_150->e_ident_abiversion * 4)" (( "(") (binary_expression "(uint)pEStack_150->e_ident_abiversion * 4" (cast_expression "(uint)pEStack_150->e_ident_abiversion" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "pEStack_150->e_ident_abiversion" (identifier "pEStack_150") (-> "->") (field_identifier "e_ident_abiversion"))) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pcVar46 = *(char **)&pEStack_150[1].e_ident_class;" (assignment_expression "pcVar46 = *(char **)&pEStack_150[1].e_ident_class" (identifier "pcVar46") (= "=") (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" (* "*") (cast_expression "(char **)&pEStack_150[1].e_ident_class" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_150[1].e_ident_class" (& "&") (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" (identifier "pEStack_150") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + pEStack_150->e_machine)" (( "(") (binary_expression "pcVar46 + pEStack_150->e_machine" (identifier "pcVar46") (+ "+") (field_expression "pEStack_150->e_machine" (identifier "pEStack_150") (-> "->") (field_identifier "e_machine"))) () ")")))) (; ";")) (expression_statement "pEVar54 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)0x0" (identifier "pEVar54") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pEVar51 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)0x0" (identifier "pEVar51") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar3 = (ushort)pEStack_150->e_version;" (assignment_expression "uVar3 = (ushort)pEStack_150->e_version" (identifier "uVar3") (= "=") (cast_expression "(ushort)pEStack_150->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEStack_150->e_version" (identifier "pEStack_150") (-> "->") (field_identifier "e_version")))) (; ";")) (expression_statement "uVar1 = *(ushort *)&pEStack_150->e_entry;" (assignment_expression "uVar1 = *(ushort *)&pEStack_150->e_entry" (identifier "uVar1") (= "=") (pointer_expression "*(ushort *)&pEStack_150->e_entry" (* "*") (cast_expression "(ushort *)&pEStack_150->e_entry" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEStack_150->e_entry" (& "&") (field_expression "pEStack_150->e_entry" (identifier "pEStack_150") (-> "->") (field_identifier "e_entry")))))) (; ";")) (expression_statement "pEVar50 = pEStack_150;" (assignment_expression "pEVar50 = pEStack_150" (identifier "pEVar50") (= "=") (identifier "pEStack_150")) (; ";")) (expression_statement "pbVar34 = pbStack_1c0;" (assignment_expression "pbVar34 = pbStack_1c0" (identifier "pbVar34") (= "=") (identifier "pbStack_1c0")) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)pcStack_1bc;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pcStack_1bc" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)pcStack_1bc" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcStack_1bc"))) (; ";")) (if_statement "if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;" (if "if") (parenthesized_expression "(*pcVar46 == **(char **)&pEStack_150[1].e_ident_class)" (( "(") (binary_expression "*pcVar46 == **(char **)&pEStack_150[1].e_ident_class" (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) (== "==") (pointer_expression "**(char **)&pEStack_150[1].e_ident_class" (* "*") (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" (* "*") (cast_expression "(char **)&pEStack_150[1].e_ident_class" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_150[1].e_ident_class" (& "&") (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" (identifier "pEStack_150") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class"))))))) () ")")) (goto_statement "goto LAB_000a45ec;" (goto "goto") (statement_identifier "LAB_000a45ec") (; ";"))) (goto_statement "goto LAB_000a46e0;" (goto "goto") (statement_identifier "LAB_000a46e0") (; ";")) (} "}"))) (expression_statement "pcVar55 = (code *)pEVar26[1].e_entry;" (assignment_expression "pcVar55 = (code *)pEVar26[1].e_entry" (identifier "pcVar55") (= "=") (cast_expression "(code *)pEVar26[1].e_entry" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar26[1].e_entry" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_entry")))) (; ";")) (expression_statement "pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);" (assignment_expression "pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2)" (identifier "pcVar52") (= "=") (binary_expression "pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2)" (field_expression "pEStack_54->e_ident_magic_str" (identifier "pEStack_54") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(pEVar42->e_ident_magic_str + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEVar42->e_ident_magic_str + -2)" (( "(") (binary_expression "pEVar42->e_ident_magic_str + -2" (field_expression "pEVar42->e_ident_magic_str" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-2")) () ")"))))) (; ";")) (if_statement "if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))\n    {\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }\n    else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" (if "if") (parenthesized_expression "((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))" (( "(") (binary_expression "(pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52)" (parenthesized_expression "(pEVar26->e_ident_pad[3] == 0)" (( "(") (binary_expression "pEVar26->e_ident_pad[3] == 0" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52)" (( "(") (binary_expression "(undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52" (cast_expression "(undefined1 *)(uint)(ushort)pEVar26->e_entry" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(ushort)pEVar26->e_entry" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(ushort)pEVar26->e_entry" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEVar26->e_entry" (identifier "pEVar26") (-> "->") (field_identifier "e_entry"))))) (!= "!=") (identifier "pcVar52")) () ")"))) () ")")) (compound_statement "{\n      pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));\n      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;\n      auStack_188[4] = pEVar47->e_ident_magic_num;\n      auStack_188[5] = pEVar47->e_ident_magic_str[0];\n      auStack_188[6] = pEVar47->e_ident_magic_str[1];\n      auStack_188[7] = pEVar47->e_ident_magic_str[2];\n      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);\n      dVar30 = pEVar7->e_version;\n      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;\n      if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }\n    }" ({ "{") (expression_statement "pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry));" (assignment_expression "pEVar47 = (Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)\n                (*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry))" (( "(") (binary_expression "*(int *)&pEVar26[1].e_ident_class +\n                (uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" (pointer_expression "*(int *)&pEVar26[1].e_ident_class" (* "*") (cast_expression "(int *)&pEVar26[1].e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26[1].e_ident_class" (& "&") (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class"))))) (+ "+") (call_expression "(uint)(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry)" (( "(") (binary_expression "*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &\n                      *(ushort *)&pEVar26->e_entry" (pointer_expression "*(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" (* "*") (cast_expression "(ushort *)\n                        (*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2)" (( "(") (binary_expression "*(int *)(pEVar26[1].e_ident_pad + 3) +\n                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2" (pointer_expression "*(int *)(pEVar26[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar26[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar26[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar26[1].e_ident_pad + 3" (field_expression "pEVar26[1].e_ident_pad" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")")))) (+ "+") (binary_expression "((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2" (parenthesized_expression "((int)pcVar52 - (uint)pEVar26->e_ident_pad[3])" (( "(") (binary_expression "(int)pcVar52 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pcVar52" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar52")) (- "-") (cast_expression "(uint)pEVar26->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")))) () ")")) (* "*") (number_literal "2"))) () ")")))) (& "&") (pointer_expression "*(ushort *)&pEVar26->e_entry" (* "*") (cast_expression "(ushort *)&pEVar26->e_entry" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26->e_entry" (& "&") (field_expression "pEVar26->e_entry" (identifier "pEVar26") (-> "->") (field_identifier "e_entry")))))) () ")")))) () ")")))) (; ";")) (expression_statement "*(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;" (assignment_expression "*(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47" (pointer_expression "*(Elf32_Ehdr **)(pcVar46 + -4)" (* "*") (cast_expression "(Elf32_Ehdr **)(pcVar46 + -4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + -4)" (( "(") (binary_expression "pcVar46 + -4" (identifier "pcVar46") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pEVar47")) (; ";")) (expression_statement "auStack_188[4] = pEVar47->e_ident_magic_num;" (assignment_expression "auStack_188[4] = pEVar47->e_ident_magic_num" (subscript_expression "auStack_188[4]" (identifier "auStack_188") ([ "[") (number_literal "4") (] "]")) (= "=") (field_expression "pEVar47->e_ident_magic_num" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_magic_num"))) (; ";")) (expression_statement "auStack_188[5] = pEVar47->e_ident_magic_str[0];" (assignment_expression "auStack_188[5] = pEVar47->e_ident_magic_str[0]" (subscript_expression "auStack_188[5]" (identifier "auStack_188") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "pEVar47->e_ident_magic_str[0]" (field_expression "pEVar47->e_ident_magic_str" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "auStack_188[6] = pEVar47->e_ident_magic_str[1];" (assignment_expression "auStack_188[6] = pEVar47->e_ident_magic_str[1]" (subscript_expression "auStack_188[6]" (identifier "auStack_188") ([ "[") (number_literal "6") (] "]")) (= "=") (subscript_expression "pEVar47->e_ident_magic_str[1]" (field_expression "pEVar47->e_ident_magic_str" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "auStack_188[7] = pEVar47->e_ident_magic_str[2];" (assignment_expression "auStack_188[7] = pEVar47->e_ident_magic_str[2]" (subscript_expression "auStack_188[7]" (identifier "auStack_188") ([ "[") (number_literal "7") (] "]")) (= "=") (subscript_expression "pEVar47->e_ident_magic_str[2]" (field_expression "pEVar47->e_ident_magic_str" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47)" (identifier "pEVar11") (= "=") (cast_expression "(Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar55)(pEVar26,pEVar47)" (parenthesized_expression "(*pcVar55)" (( "(") (pointer_expression "*pcVar55" (* "*") (identifier "pcVar55")) () ")")) (argument_list "(pEVar26,pEVar47)" (( "(") (identifier "pEVar26") (, ",") (identifier "pEVar47") () ")"))))) (; ";")) (expression_statement "dVar30 = pEVar7->e_version;" (assignment_expression "dVar30 = pEVar7->e_version" (identifier "dVar30") (= "=") (field_expression "pEVar7->e_version" (identifier "pEVar7") (-> "->") (field_identifier "e_version"))) (; ";")) (expression_statement "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;" (assignment_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11" (pointer_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" (* "*") (cast_expression "(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" (( "(") (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" (identifier "EStack_108") (. ".") (field_identifier "e_ident_magic_str")) (+ "+") (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (* "*") (number_literal "4"))) (+ "+") (number_literal "-5")) () ")")))) (= "=") (identifier "pEVar11")) (; ";")) (if_statement "if ((dVar30 & 0xc) != 0) {\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }" (if "if") (parenthesized_expression "((dVar30 & 0xc) != 0)" (( "(") (binary_expression "(dVar30 & 0xc) != 0" (parenthesized_expression "(dVar30 & 0xc)" (( "(") (binary_expression "dVar30 & 0xc" (identifier "dVar30") (& "&") (number_literal "0xc")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;\n        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }\n        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);\n        *(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));\n        pEStack_1e8 = pEVar11;\n      }" ({ "{") (expression_statement "iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;" (assignment_expression "iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" (identifier "iVar10") (= "=") (binary_expression "(int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")) (- "-") (pointer_expression "*(int *)&pEVar26[1].e_ident_class" (* "*") (cast_expression "(int *)&pEVar26[1].e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26[1].e_ident_class" (& "&") (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class"))))))) (; ";")) (if_statement "if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }" (if "if") (parenthesized_expression "((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10))" (( "(") (binary_expression "(int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)" (cast_expression "(int)pEVar7->e_flags" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "pEVar7->e_flags" (identifier "pEVar7") (-> "->") (field_identifier "e_flags"))) (< "<") (cast_expression "(int)((int)pEVar11 + iVar10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pEVar11 + iVar10)" (( "(") (binary_expression "(int)pEVar11 + iVar10" (cast_expression "(int)pEVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar11")) (+ "+") (identifier "iVar10")) () ")")))) () ")")) (compound_statement "{\n          auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);\n          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);\n          pEStack_1f4 = pEVar49;\n          goto LAB_000a443c;\n        }" ({ "{") (expression_statement "auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);" (assignment_expression "auStack_188._0_4_ =\n               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" (* "*") (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x75c0)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x75c0")) () ")")))) () ")")) (argument_list "(0x113c2,pEVar7->e_flags,pEVar11)" (( "(") (number_literal "0x113c2") (, ",") (field_expression "pEVar7->e_flags" (identifier "pEVar7") (-> "->") (field_identifier "e_flags")) (, ",") (identifier "pEVar11") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);" (call_expression "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc)" (parenthesized_expression "(**(code **)(puVar53 + 0xb786c))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb786c)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb786c)" (* "*") (cast_expression "(code **)(puVar53 + 0xb786c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb786c)" (( "(") (binary_expression "puVar53 + 0xb786c" (identifier "puVar53") (+ "+") (number_literal "0xb786c")) () ")"))))) () ")")) (argument_list "(ppEStack_1dc,0,pEVar49,0xc)" (( "(") (identifier "ppEStack_1dc") (, ",") (number_literal "0") (, ",") (identifier "pEVar49") (, ",") (number_literal "0xc") () ")"))) (; ";")) (expression_statement "pEStack_1f4 = pEVar49;" (assignment_expression "pEStack_1f4 = pEVar49" (identifier "pEStack_1f4") (= "=") (identifier "pEVar49")) (; ";")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);" (call_expression "(**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47)" (parenthesized_expression "(**(code **)(puVar53 + 0xb7910))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb7910)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb7910)" (* "*") (cast_expression "(code **)(puVar53 + 0xb7910)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb7910)" (( "(") (binary_expression "puVar53 + 0xb7910" (identifier "puVar53") (+ "+") (number_literal "0xb7910")) () ")"))))) () ")")) (argument_list "((char *)((int)pEStack_1d8 + iVar10),pEVar47)" (( "(") (cast_expression "(char *)((int)pEStack_1d8 + iVar10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEStack_1d8 + iVar10)" (( "(") (binary_expression "(int)pEStack_1d8 + iVar10" (cast_expression "(int)pEStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1d8")) (+ "+") (identifier "iVar10")) () ")"))) (, ",") (identifier "pEVar47") () ")"))) (; ";")) (expression_statement "*(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));" (assignment_expression "*(char **)(pcVar46 + -4) =\n             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" (pointer_expression "*(char **)(pcVar46 + -4)" (* "*") (cast_expression "(char **)(pcVar46 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + -4)" (( "(") (binary_expression "pcVar46 + -4" (identifier "pcVar46") (+ "+") (number_literal "-4")) () ")")))) (= "=") (cast_expression "(char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class))" (( "(") (binary_expression "(int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class)" (cast_expression "(int)pEStack_1d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1d8")) (+ "+") (parenthesized_expression "((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class)" (( "(") (binary_expression "(int)pEVar47 - *(int *)&pEVar26[1].e_ident_class" (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")) (- "-") (pointer_expression "*(int *)&pEVar26[1].e_ident_class" (* "*") (cast_expression "(int *)&pEVar26[1].e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26[1].e_ident_class" (& "&") (field_expression "pEVar26[1].e_ident_class" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) () ")"))) () ")")))) (; ";")) (expression_statement "pEStack_1e8 = pEVar11;" (assignment_expression "pEStack_1e8 = pEVar11" (identifier "pEStack_1e8") (= "=") (identifier "pEVar11")) (; ";")) (} "}"))) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);\n      }" ({ "{") (expression_statement "(*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);" (call_expression "(*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0)" (parenthesized_expression "(*pcStack_1e4)" (( "(") (pointer_expression "*pcStack_1e4" (* "*") (identifier "pcStack_1e4")) () ")")) (argument_list "(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0)" (( "(") (identifier "pEVar26") (, ",") (binary_expression "(int)pcVar52 - (uint)pEVar26->e_ident_pad[3]" (cast_expression "(int)pcVar52" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar52")) (- "-") (cast_expression "(uint)pEVar26->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")))) (, ",") (identifier "pEVar11") (, ",") (identifier "puStack_1e0") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" (else "else") (compound_statement "{\n      puVar12 = (uint *)pEVar26->e_flags;\n      *(uint **)(pcVar46 + -4) = puVar12;\n      auStack_188._4_4_ = *puVar12;\n      uVar13 = (*pcVar55)(pEVar26,puVar12);\n      pEVar26->e_ident_pad[3] = 0;\n      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;\n    }" ({ "{") (expression_statement "puVar12 = (uint *)pEVar26->e_flags;" (assignment_expression "puVar12 = (uint *)pEVar26->e_flags" (identifier "puVar12") (= "=") (cast_expression "(uint *)pEVar26->e_flags" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar26->e_flags" (identifier "pEVar26") (-> "->") (field_identifier "e_flags")))) (; ";")) (expression_statement "*(uint **)(pcVar46 + -4) = puVar12;" (assignment_expression "*(uint **)(pcVar46 + -4) = puVar12" (pointer_expression "*(uint **)(pcVar46 + -4)" (* "*") (cast_expression "(uint **)(pcVar46 + -4)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar46 + -4)" (( "(") (binary_expression "pcVar46 + -4" (identifier "pcVar46") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "puVar12")) (; ";")) (expression_statement "auStack_188._4_4_ = *puVar12;" (assignment_expression "auStack_188._4_4_ = *puVar12" (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")) (= "=") (pointer_expression "*puVar12" (* "*") (identifier "puVar12"))) (; ";")) (expression_statement "uVar13 = (*pcVar55)(pEVar26,puVar12);" (assignment_expression "uVar13 = (*pcVar55)(pEVar26,puVar12)" (identifier "uVar13") (= "=") (call_expression "(*pcVar55)(pEVar26,puVar12)" (parenthesized_expression "(*pcVar55)" (( "(") (pointer_expression "*pcVar55" (* "*") (identifier "pcVar55")) () ")")) (argument_list "(pEVar26,puVar12)" (( "(") (identifier "pEVar26") (, ",") (identifier "puVar12") () ")")))) (; ";")) (expression_statement "pEVar26->e_ident_pad[3] = 0;" (assignment_expression "pEVar26->e_ident_pad[3] = 0" (subscript_expression "pEVar26->e_ident_pad[3]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;" (assignment_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13" (pointer_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" (* "*") (cast_expression "(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5)" (( "(") (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" (identifier "EStack_108") (. ".") (field_identifier "e_ident_magic_str")) (+ "+") (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (* "*") (number_literal "4"))) (+ "+") (number_literal "-5")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (} "}")))) (expression_statement "ppEVar43 = ppEVar43 + -1;" (assignment_expression "ppEVar43 = ppEVar43 + -1" (identifier "ppEVar43") (= "=") (binary_expression "ppEVar43 + -1" (identifier "ppEVar43") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pcVar46 = pcVar46 + -4;" (assignment_expression "pcVar46 = pcVar46 + -4" (identifier "pcVar46") (= "=") (binary_expression "pcVar46 + -4" (identifier "pcVar46") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "pEVar48 = pEVar42;" (assignment_expression "pEVar48 = pEVar42" (identifier "pEVar48") (= "=") (identifier "pEVar42")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);" (call_expression "(**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc)" (parenthesized_expression "(**(code **)(puVar53 + 0xb786c))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb786c)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb786c)" (* "*") (cast_expression "(code **)(puVar53 + 0xb786c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb786c)" (( "(") (binary_expression "puVar53 + 0xb786c" (identifier "puVar53") (+ "+") (number_literal "0xb786c")) () ")"))))) () ")")) (argument_list "(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc)" (( "(") (identifier "ppEStack_1dc") (, ",") (number_literal "0") (, ",") (binary_expression "(int)pEVar48->e_ident_magic_str * 4" (cast_expression "(int)pEVar48->e_ident_magic_str" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str"))) (* "*") (number_literal "4")) (, ",") (number_literal "0xc") () ")"))) (; ";")) (expression_statement "unaff_s7 = (Elf32_Ehdr *)0x0;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)0x0" (identifier "unaff_s7") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";")) (labeled_statement "LAB_000a45ec:\n  (**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);" (statement_identifier "LAB_000a45ec") (: ":") (expression_statement "(**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);" (call_expression "(**(code **)(puVar53 + 0xb7894))\n            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2)" (parenthesized_expression "(**(code **)(puVar53 + 0xb7894))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb7894)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb7894)" (* "*") (cast_expression "(code **)(puVar53 + 0xb7894)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb7894)" (( "(") (binary_expression "puVar53 + 0xb7894" (identifier "puVar53") (+ "+") (number_literal "0xb7894")) () ")"))))) () ")")) (argument_list "(aiStack_c0[0] + auStack_cc._0_4_ * 2,0,\n             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2)" (( "(") (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "2"))) (, ",") (number_literal "0") (, ",") (binary_expression "((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2" (parenthesized_expression "((uint)pEVar50->e_ident_pad[3] + (uint)uVar3)" (( "(") (binary_expression "(uint)pEVar50->e_ident_pad[3] + (uint)uVar3" (cast_expression "(uint)pEVar50->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" (identifier "pEVar50") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]"))) (+ "+") (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3"))) () ")")) (* "*") (number_literal "2")) () ")"))) (; ";"))) (if_statement "if (pEVar50->e_ident_pad[3] == 0) {\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }\n  else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" (if "if") (parenthesized_expression "(pEVar50->e_ident_pad[3] == 0)" (( "(") (binary_expression "pEVar50->e_ident_pad[3] == 0" (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" (identifier "pEVar50") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;\n  }" ({ "{") (labeled_statement "LAB_000a4624:\n    uVar3 = (ushort)pEVar50->e_version;" (statement_identifier "LAB_000a4624") (: ":") (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" (identifier "uVar3") (= "=") (cast_expression "(ushort)pEVar50->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEVar50->e_version" (identifier "pEVar50") (-> "->") (field_identifier "e_version")))) (; ";"))) (} "}")) (else_clause "else {\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" (else "else") (compound_statement "{\n    uVar25 = (uint)(ushort)pEVar50->e_entry;\n    if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }\n    pdVar27 = &pEVar50->e_flags;\n    iVar10 = 0;\n    do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);\n    uVar3 = (ushort)pEVar50->e_version;\n  }" ({ "{") (expression_statement "uVar25 = (uint)(ushort)pEVar50->e_entry;" (assignment_expression "uVar25 = (uint)(ushort)pEVar50->e_entry" (identifier "uVar25") (= "=") (cast_expression "(uint)(ushort)pEVar50->e_entry" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(ushort)pEVar50->e_entry" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEVar50->e_entry" (identifier "pEVar50") (-> "->") (field_identifier "e_entry"))))) (; ";")) (if_statement "if (uVar25 != 0) {\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }" (if "if") (parenthesized_expression "(uVar25 != 0)" (( "(") (binary_expression "uVar25 != 0" (identifier "uVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar52 = pEVar49->e_ident_magic_str;\n      do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));\n      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;\n    }" ({ "{") (expression_statement "pcVar52 = pEVar49->e_ident_magic_str;" (assignment_expression "pcVar52 = pEVar49->e_ident_magic_str" (identifier "pcVar52") (= "=") (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str"))) (; ";")) (do_statement "do {\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));" (do "do") (compound_statement "{\n        uVar3._0_1_ = pEVar49->e_ident_magic_num;\n        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];\n        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);\n        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n      }" ({ "{") (expression_statement "uVar3._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar3._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar3._0_1_" (identifier "uVar3") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "pEVar49->e_ident_magic_num" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_num"))) (; ";")) (expression_statement "uVar3._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar3._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar3._1_1_" (identifier "uVar3") (. ".") (field_identifier "_1_1_")) (= "=") (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" (( "(") (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);" (assignment_expression "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3)" (pointer_expression "*(char **)(iStack_c4 + auStack_cc._0_4_ * 4)" (* "*") (cast_expression "(char **)(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" (identifier "iStack_c4") (+ "+") (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "pcVar46 + (uVar1 & uVar3)" (identifier "pcVar46") (+ "+") (parenthesized_expression "(uVar1 & uVar3)" (( "(") (binary_expression "uVar1 & uVar3" (identifier "uVar1") (& "&") (identifier "uVar3")) () ")")))) (; ";")) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1))" (( "(") (binary_expression "pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1)" (identifier "pEVar49") (!= "!=") (cast_expression "(Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar52 + uVar25 * 2 + -1)" (( "(") (binary_expression "pcVar52 + uVar25 * 2 + -1" (binary_expression "pcVar52 + uVar25 * 2" (identifier "pcVar52") (+ "+") (binary_expression "uVar25 * 2" (identifier "uVar25") (* "*") (number_literal "2"))) (+ "+") (number_literal "-1")) () ")")))) () ")")) (; ";")) (if_statement "if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;" (if "if") (parenthesized_expression "(pEVar50->e_ident_pad[3] == 0)" (( "(") (binary_expression "pEVar50->e_ident_pad[3] == 0" (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" (identifier "pEVar50") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a4624;" (goto "goto") (statement_identifier "LAB_000a4624") (; ";"))) (} "}"))) (expression_statement "pdVar27 = &pEVar50->e_flags;" (assignment_expression "pdVar27 = &pEVar50->e_flags" (identifier "pdVar27") (= "=") (pointer_expression "&pEVar50->e_flags" (& "&") (field_expression "pEVar50->e_flags" (identifier "pEVar50") (-> "->") (field_identifier "e_flags")))) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);" (do "do") (compound_statement "{\n      dVar30 = *pdVar27;\n      iVar10 = iVar10 + 1;\n      pdVar27 = pdVar27 + 1;\n      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" ({ "{") (expression_statement "dVar30 = *pdVar27;" (assignment_expression "dVar30 = *pdVar27" (identifier "dVar30") (= "=") (pointer_expression "*pdVar27" (* "*") (identifier "pdVar27"))) (; ";")) (expression_statement "iVar10 = iVar10 + 1;" (assignment_expression "iVar10 = iVar10 + 1" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" (identifier "pdVar27") (= "=") (binary_expression "pdVar27 + 1" (identifier "pdVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;" (assignment_expression "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30" (pointer_expression "*(dword *)(iStack_c4 + auStack_cc._0_4_ * 4)" (* "*") (cast_expression "(dword *)(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" (identifier "iStack_c4") (+ "+") (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "dVar30")) (; ";")) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 < (int)(uint)pEVar50->e_ident_pad[3])" (( "(") (binary_expression "iVar10 < (int)(uint)pEVar50->e_ident_pad[3]" (identifier "iVar10") (< "<") (cast_expression "(int)(uint)pEVar50->e_ident_pad[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(uint)pEVar50->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar50->e_ident_pad[3]" (field_expression "pEVar50->e_ident_pad" (identifier "pEVar50") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]"))))) () ")")) (; ";")) (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" (identifier "uVar3") (= "=") (cast_expression "(ushort)pEVar50->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEVar50->e_version" (identifier "pEVar50") (-> "->") (field_identifier "e_version")))) (; ";")) (} "}")))) (expression_statement "uVar2 = pEVar50->e_machine;" (assignment_expression "uVar2 = pEVar50->e_machine" (identifier "uVar2") (= "=") (field_expression "pEVar50->e_machine" (identifier "pEVar50") (-> "->") (field_identifier "e_machine"))) (; ";")) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" (identifier "iVar10") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (for_statement "for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);\n      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }" (for "for") (( "(") (; ";") (binary_expression "pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" (identifier "pEVar49") (< "<") (cast_expression "(Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2)" (( "(") (binary_expression "pcVar46 + (uint)uVar3 * 2 + (uint)uVar2" (binary_expression "pcVar46 + (uint)uVar3 * 2" (identifier "pcVar46") (+ "+") (binary_expression "(uint)uVar3 * 2" (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3")) (* "*") (number_literal "2"))) (+ "+") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) () ")")))) (; ";") (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" (( "(") (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "1")) () ")")))) () ")") (compound_statement "{\n    uVar5._0_1_ = pEVar49->e_ident_magic_num;\n    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];\n    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);\n    auStack_cc._0_4_ = iVar10 + 1;\n    iVar10 = auStack_cc._0_4_;\n  }" ({ "{") (expression_statement "uVar5._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar5._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar5._0_1_" (identifier "uVar5") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "pEVar49->e_ident_magic_num" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_num"))) (; ";")) (expression_statement "uVar5._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar5._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar5._1_1_" (identifier "uVar5") (. ".") (field_identifier "_1_1_")) (= "=") (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);" (assignment_expression "*(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5)" (pointer_expression "*(char **)(iStack_c4 + iVar10 * 4)" (* "*") (cast_expression "(char **)(iStack_c4 + iVar10 * 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_c4 + iVar10 * 4)" (( "(") (binary_expression "iStack_c4 + iVar10 * 4" (identifier "iStack_c4") (+ "+") (binary_expression "iVar10 * 4" (identifier "iVar10") (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "pcVar46 + (uVar1 & uVar5)" (identifier "pcVar46") (+ "+") (parenthesized_expression "(uVar1 & uVar5)" (( "(") (binary_expression "uVar1 & uVar5" (identifier "uVar1") (& "&") (identifier "uVar5")) () ")")))) (; ";")) (expression_statement "auStack_cc._0_4_ = iVar10 + 1;" (assignment_expression "auStack_cc._0_4_ = iVar10 + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" (identifier "iVar10") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (} "}"))) (expression_statement "auStack_cc._0_4_ = iVar10;" (assignment_expression "auStack_cc._0_4_ = iVar10" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(int *)pbVar34 = iVar10;" (assignment_expression "*(int *)pbVar34 = iVar10" (pointer_expression "*(int *)pbVar34" (* "*") (cast_expression "(int *)pbVar34" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar34"))) (= "=") (identifier "iVar10")) (; ";")) (if_statement "if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" (if "if") (parenthesized_expression "(((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0))" (( "(") (binary_expression "((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)" (parenthesized_expression "((int)pEVar54 < (int)pEStack_1d4)" (( "(") (binary_expression "(int)pEVar54 < (int)pEStack_1d4" (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (< "<") (cast_expression "(int)pEStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1d4"))) () ")")) (&& "&&") (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n    pcVar55 = *(code **)(puVar53 + 0xb7910);\n    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);\n    uVar25 = uVar23 & 0xffff;\n    pcVar46 = pEVar51->e_ident_magic_str;\n    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;\n    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));\n    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);\n    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;\n    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n    *psVar14 = *psVar14 - (short)puStack_1e0;\n    if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;\nLAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;\n    pbVar34 = pbVar34 + 4;\n    pEVar50 = ppEStack_1dc[(int)pEVar54];\n    pcVar46 = *(char **)&pEVar50[1].e_ident_class;\n    uVar3 = (ushort)pEVar50->e_version;\n    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);\n    uVar1 = *(ushort *)&pEVar50->e_entry;\n    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;\n    goto LAB_000a45ec;\n  }" ({ "{") (expression_statement "pcVar55 = *(code **)(puVar53 + 0xb7910);" (assignment_expression "pcVar55 = *(code **)(puVar53 + 0xb7910)" (identifier "pcVar55") (= "=") (pointer_expression "*(code **)(puVar53 + 0xb7910)" (* "*") (cast_expression "(code **)(puVar53 + 0xb7910)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb7910)" (( "(") (binary_expression "puVar53 + 0xb7910" (identifier "puVar53") (+ "+") (number_literal "0xb7910")) () ")"))))) (; ";")) (expression_statement "uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);" (assignment_expression "uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" (identifier "uVar23") (= "=") (pointer_expression "*(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" (* "*") (cast_expression "(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1)" (( "(") (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar54 * 4" (field_expression "EStack_108.e_ident_magic_str" (identifier "EStack_108") (. ".") (field_identifier "e_ident_magic_str")) (+ "+") (binary_expression "(int)pEVar54 * 4" (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (* "*") (number_literal "4"))) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);" (assignment_expression "uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" (* "*") (cast_expression "(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1)" (( "(") (binary_expression "pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1" (binary_expression "pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4" (field_expression "pEStack_1c4->e_ident_magic_str" (identifier "pEStack_1c4") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (binary_expression "(int)pEVar54 * 4" (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (* "*") (number_literal "4"))) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "uVar25 = uVar23 & 0xffff;" (assignment_expression "uVar25 = uVar23 & 0xffff" (identifier "uVar25") (= "=") (binary_expression "uVar23 & 0xffff" (identifier "uVar23") (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "pcVar46 = pEVar51->e_ident_magic_str;" (assignment_expression "pcVar46 = pEVar51->e_ident_magic_str" (identifier "pcVar46") (= "=") (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str"))) (; ";")) (expression_statement "*(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;" (assignment_expression "*(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23" (pointer_expression "*(short *)(aiStack_c0[0] + iVar10 * 2)" (* "*") (cast_expression "(short *)(aiStack_c0[0] + iVar10 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + iVar10 * 2)" (( "(") (binary_expression "aiStack_c0[0] + iVar10 * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "iVar10 * 2" (identifier "iVar10") (* "*") (number_literal "2"))) () ")")))) (= "=") (cast_expression "(short)uVar23" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar23"))) (; ";")) (expression_statement "pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1))" (identifier "pEVar51") (= "=") (cast_expression "(Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar51->e_ident_magic_str + (uVar25 - 1))" (( "(") (binary_expression "pEVar51->e_ident_magic_str + (uVar25 - 1)" (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (parenthesized_expression "(uVar25 - 1)" (( "(") (binary_expression "uVar25 - 1" (identifier "uVar25") (- "-") (number_literal "1")) () ")"))) () ")")))) (; ";")) (expression_statement "iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);" (assignment_expression "iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" (identifier "iVar10") (= "=") (call_expression "(*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" (parenthesized_expression "(*pcVar55)" (( "(") (pointer_expression "*pcVar55" (* "*") (identifier "pcVar55")) () ")")) (argument_list "(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25)" (( "(") (binary_expression "pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2)" (identifier "pcVar46") (+ "+") (cast_expression "(int)(pEStack_1f4->e_ident_magic_str + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEStack_1f4->e_ident_magic_str + -2)" (( "(") (binary_expression "pEStack_1f4->e_ident_magic_str + -2" (field_expression "pEStack_1f4->e_ident_magic_str" (identifier "pEStack_1f4") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-2")) () ")")))) (, ",") (identifier "uVar13") (, ",") (identifier "uVar25") () ")")))) (; ";")) (expression_statement "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;" (assignment_expression "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10" (pointer_expression "*(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4)" (* "*") (cast_expression "(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" (identifier "iStack_c4") (+ "+") (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "puStack_1e0 + iVar10" (identifier "puStack_1e0") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);" (assignment_expression "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (identifier "psVar14") (= "=") (cast_expression "(short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "*psVar14 = *psVar14 - (short)puStack_1e0;" (assignment_expression "*psVar14 = *psVar14 - (short)puStack_1e0" (pointer_expression "*psVar14" (* "*") (identifier "psVar14")) (= "=") (binary_expression "*psVar14 - (short)puStack_1e0" (pointer_expression "*psVar14" (* "*") (identifier "psVar14")) (- "-") (cast_expression "(short)puStack_1e0" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "puStack_1e0")))) (; ";")) (if_statement "if (pEVar50->e_ident_abiversion == 0) {\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }\n    else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" (if "if") (parenthesized_expression "(pEVar50->e_ident_abiversion == 0)" (( "(") (binary_expression "pEVar50->e_ident_abiversion == 0" (field_expression "pEVar50->e_ident_abiversion" (identifier "pEVar50") (-> "->") (field_identifier "e_ident_abiversion")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);\nLAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" ({ "{") (expression_statement "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);" (assignment_expression "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =\n           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" (pointer_expression "**(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" (* "*") (pointer_expression "*(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" (* "*") (cast_expression "(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_c4 + auStack_cc._0_4_ * 4)" (( "(") (binary_expression "iStack_c4 + auStack_cc._0_4_ * 4" (identifier "iStack_c4") (+ "+") (binary_expression "auStack_cc._0_4_ * 4" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "4"))) () ")"))))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)&pEVar50[1].e_ident_class + 8)" (( "(") (binary_expression "*(int *)&pEVar50[1].e_ident_class + 8" (pointer_expression "*(int *)&pEVar50[1].e_ident_class" (* "*") (cast_expression "(int *)&pEVar50[1].e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar50[1].e_ident_class" (& "&") (field_expression "pEVar50[1].e_ident_class" (subscript_expression "pEVar50[1]" (identifier "pEVar50") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class"))))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (labeled_statement "LAB_000a4864:\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (statement_identifier "LAB_000a4864") (: ":") (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" (else "else") (compound_statement "{\n      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;\n      do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);\n      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;\n    }" ({ "{") (if_statement "if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;" (if "if") (parenthesized_expression "(3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2))" (( "(") (binary_expression "3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (number_literal "3") (< "<") (pointer_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (* "*") (cast_expression "(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "2"))) () ")"))))) () ")")) (goto_statement "goto LAB_000a4864;" (goto "goto") (statement_identifier "LAB_000a4864") (; ";"))) (do_statement "do {\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);" (do "do") (compound_statement "{\n        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;\n        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';\n        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);\n        *psVar14 = *psVar14 + 1;\n      }" ({ "{") (expression_statement "pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str" (identifier "pEVar51") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar51->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';" (assignment_expression "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0'" (subscript_expression "pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2]" (field_expression "pEStack_1f4->e_ident_magic_str" (identifier "pEStack_1f4") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (binary_expression "(int)pEVar51 + -2" (cast_expression "(int)pEVar51" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar51")) (+ "+") (number_literal "-2")) (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);" (assignment_expression "psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (identifier "psVar14") (= "=") (cast_expression "(short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "*psVar14 = *psVar14 + 1;" (assignment_expression "*psVar14 = *psVar14 + 1" (pointer_expression "*psVar14" (* "*") (identifier "psVar14")) (= "=") (binary_expression "*psVar14 + 1" (pointer_expression "*psVar14" (* "*") (identifier "psVar14")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4)" (( "(") (binary_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4" (pointer_expression "*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (* "*") (cast_expression "(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + auStack_cc._0_4_ * 2)" (( "(") (binary_expression "aiStack_c0[0] + auStack_cc._0_4_ * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "auStack_cc._0_4_ * 2" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "2"))) () ")")))) (< "<") (number_literal "4")) () ")")) (; ";")) (expression_statement "auStack_cc._0_4_ = auStack_cc._0_4_ + 1;" (assignment_expression "auStack_cc._0_4_ = auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "auStack_cc._0_4_ + 1" (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (if_statement "if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;" (if "if") (parenthesized_expression "(pEVar54->e_ident_magic_str == pcStack_1bc)" (( "(") (binary_expression "pEVar54->e_ident_magic_str == pcStack_1bc" (field_expression "pEVar54->e_ident_magic_str" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_magic_str")) (== "==") (identifier "pcStack_1bc")) () ")")) (goto_statement "goto LAB_000a487c;" (goto "goto") (statement_identifier "LAB_000a487c") (; ";"))) (labeled_statement "LAB_000a46ac:\n    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;" (statement_identifier "LAB_000a46ac") (: ":") (expression_statement "pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str" (identifier "pEVar54") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar54->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar54->e_ident_magic_str" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";"))) (expression_statement "pbVar34 = pbVar34 + 4;" (assignment_expression "pbVar34 = pbVar34 + 4" (identifier "pbVar34") (= "=") (binary_expression "pbVar34 + 4" (identifier "pbVar34") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pEVar50 = ppEStack_1dc[(int)pEVar54];" (assignment_expression "pEVar50 = ppEStack_1dc[(int)pEVar54]" (identifier "pEVar50") (= "=") (subscript_expression "ppEStack_1dc[(int)pEVar54]" (identifier "ppEStack_1dc") ([ "[") (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (] "]"))) (; ";")) (expression_statement "pcVar46 = *(char **)&pEVar50[1].e_ident_class;" (assignment_expression "pcVar46 = *(char **)&pEVar50[1].e_ident_class" (identifier "pcVar46") (= "=") (pointer_expression "*(char **)&pEVar50[1].e_ident_class" (* "*") (cast_expression "(char **)&pEVar50[1].e_ident_class" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEVar50[1].e_ident_class" (& "&") (field_expression "pEVar50[1].e_ident_class" (subscript_expression "pEVar50[1]" (identifier "pEVar50") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "uVar3 = (ushort)pEVar50->e_version;" (assignment_expression "uVar3 = (ushort)pEVar50->e_version" (identifier "uVar3") (= "=") (cast_expression "(ushort)pEVar50->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEVar50->e_version" (identifier "pEVar50") (-> "->") (field_identifier "e_version")))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + pEVar50->e_machine)" (( "(") (binary_expression "pcVar46 + pEVar50->e_machine" (identifier "pcVar46") (+ "+") (field_expression "pEVar50->e_machine" (identifier "pEVar50") (-> "->") (field_identifier "e_machine"))) () ")")))) (; ";")) (expression_statement "uVar1 = *(ushort *)&pEVar50->e_entry;" (assignment_expression "uVar1 = *(ushort *)&pEVar50->e_entry" (identifier "uVar1") (= "=") (pointer_expression "*(ushort *)&pEVar50->e_entry" (* "*") (cast_expression "(ushort *)&pEVar50->e_entry" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar50->e_entry" (& "&") (field_expression "pEVar50->e_entry" (identifier "pEVar50") (-> "->") (field_identifier "e_entry")))))) (; ";")) (if_statement "if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;" (if "if") (parenthesized_expression "(*pcVar46 != **(char **)&pEStack_150[1].e_ident_class)" (( "(") (binary_expression "*pcVar46 != **(char **)&pEStack_150[1].e_ident_class" (pointer_expression "*pcVar46" (* "*") (identifier "pcVar46")) (!= "!=") (pointer_expression "**(char **)&pEStack_150[1].e_ident_class" (* "*") (pointer_expression "*(char **)&pEStack_150[1].e_ident_class" (* "*") (cast_expression "(char **)&pEStack_150[1].e_ident_class" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_150[1].e_ident_class" (& "&") (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" (identifier "pEStack_150") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class"))))))) () ")")) (goto_statement "goto LAB_000a46e0;" (goto "goto") (statement_identifier "LAB_000a46e0") (; ";"))) (goto_statement "goto LAB_000a45ec;" (goto "goto") (statement_identifier "LAB_000a45ec") (; ";")) (} "}"))) (if_statement "if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;" (if "if") (parenthesized_expression "(pEVar54->e_ident_magic_str != pcStack_1bc)" (( "(") (binary_expression "pEVar54->e_ident_magic_str != pcStack_1bc" (field_expression "pEVar54->e_ident_magic_str" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_magic_str")) (!= "!=") (identifier "pcStack_1bc")) () ")")) (goto_statement "goto LAB_000a46ac;" (goto "goto") (statement_identifier "LAB_000a46ac") (; ";"))) (labeled_statement "LAB_000a487c:\n  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));" (statement_identifier "LAB_000a487c") (: ":") (expression_statement "pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));" (assignment_expression "pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc))" (identifier "pEStack_1f4") (= "=") (cast_expression "(Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_1e0 + (pEVar7->e_flags - 0xc))" (( "(") (binary_expression "puStack_1e0 + (pEVar7->e_flags - 0xc)" (identifier "puStack_1e0") (+ "+") (parenthesized_expression "(pEVar7->e_flags - 0xc)" (( "(") (binary_expression "pEVar7->e_flags - 0xc" (field_expression "pEVar7->e_flags" (identifier "pEVar7") (-> "->") (field_identifier "e_flags")) (- "-") (number_literal "0xc")) () ")"))) () ")")))) (; ";"))) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" (identifier "iVar44") (= "=") (number_literal "0")) (; ";")) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)auStack_130;" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)auStack_130" (identifier "pEStack_1a8") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_130" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_130"))) (; ";")) (expression_statement "pEVar49 = &EStack_108;" (assignment_expression "pEVar49 = &EStack_108" (identifier "pEVar49") (= "=") (pointer_expression "&EStack_108" (& "&") (identifier "EStack_108"))) (; ";")) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "pEVar47 = pEStack_150;" (assignment_expression "pEVar47 = pEStack_150" (identifier "pEVar47") (= "=") (identifier "pEStack_150")) (; ";")) (while_statement "while( true ) {\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;\n    iVar18 = *(int *)(pbStack_1c0 + iVar10);\n    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;\n    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;\n    iVar20 = iVar44 + 1;\n    if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }\n    iVar44 = iVar20;\n    bVar22 = pEVar47->e_ident_pad[3];\n    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;\n    *(int *)pEVar49 = iVar20;\n    if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }\n    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;\n    if (iStack_1d0 == iVar10) break;\n    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);\n    iVar10 = iVar10 + 4;\n  }" ({ "{") (expression_statement "uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;" (assignment_expression "uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)&pEVar47[1].e_ident_abiversion" (* "*") (cast_expression "(undefined4 *)&pEVar47[1].e_ident_abiversion" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar47[1].e_ident_abiversion" (& "&") (field_expression "pEVar47[1].e_ident_abiversion" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_abiversion")))))) (; ";")) (expression_statement "iVar18 = *(int *)(pbStack_1c0 + iVar10);" (assignment_expression "iVar18 = *(int *)(pbStack_1c0 + iVar10)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(pbStack_1c0 + iVar10)" (* "*") (cast_expression "(int *)(pbStack_1c0 + iVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbStack_1c0 + iVar10)" (( "(") (binary_expression "pbStack_1c0 + iVar10" (identifier "pbStack_1c0") (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "*(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;" (assignment_expression "*(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18" (pointer_expression "*(int *)(auStack_cc + (iVar44 + 10) * 4)" (* "*") (cast_expression "(int *)(auStack_cc + (iVar44 + 10) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_cc + (iVar44 + 10) * 4)" (( "(") (binary_expression "auStack_cc + (iVar44 + 10) * 4" (identifier "auStack_cc") (+ "+") (binary_expression "(iVar44 + 10) * 4" (parenthesized_expression "(iVar44 + 10)" (( "(") (binary_expression "iVar44 + 10" (identifier "iVar44") (+ "+") (number_literal "10")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "iVar18")) (; ";")) (expression_statement "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;" (assignment_expression "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13" (pointer_expression "*(undefined4 *)(auStack_cc + (iVar44 + 4) * 4)" (* "*") (cast_expression "(undefined4 *)(auStack_cc + (iVar44 + 4) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_cc + (iVar44 + 4) * 4)" (( "(") (binary_expression "auStack_cc + (iVar44 + 4) * 4" (identifier "auStack_cc") (+ "+") (binary_expression "(iVar44 + 4) * 4" (parenthesized_expression "(iVar44 + 4)" (( "(") (binary_expression "iVar44 + 4" (identifier "iVar44") (+ "+") (number_literal "4")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "iVar20 = iVar44 + 1;" (assignment_expression "iVar20 = iVar44 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar44 + 1" (identifier "iVar44") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }" (if "if") (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;\n      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;\n      iVar20 = iVar44 + 2;\n    }" ({ "{") (expression_statement "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion\n      ;" (assignment_expression "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion" (pointer_expression "*(undefined4 *)(auStack_cc + (iVar44 + 5) * 4)" (* "*") (cast_expression "(undefined4 *)(auStack_cc + (iVar44 + 5) * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_cc + (iVar44 + 5) * 4)" (( "(") (binary_expression "auStack_cc + (iVar44 + 5) * 4" (identifier "auStack_cc") (+ "+") (binary_expression "(iVar44 + 5) * 4" (parenthesized_expression "(iVar44 + 5)" (( "(") (binary_expression "iVar44 + 5" (identifier "iVar44") (+ "+") (number_literal "5")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)&pEVar26[1].e_ident_abiversion" (* "*") (cast_expression "(undefined4 *)&pEVar26[1].e_ident_abiversion" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar26[1].e_ident_abiversion" (& "&") (field_expression "pEVar26[1].e_ident_abiversion" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_abiversion")))))) (; ";")) (expression_statement "*(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;" (assignment_expression "*(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1" (pointer_expression "*(int *)(auStack_cc + (iVar44 + 0xb) * 4)" (* "*") (cast_expression "(int *)(auStack_cc + (iVar44 + 0xb) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_cc + (iVar44 + 0xb) * 4)" (( "(") (binary_expression "auStack_cc + (iVar44 + 0xb) * 4" (identifier "auStack_cc") (+ "+") (binary_expression "(iVar44 + 0xb) * 4" (parenthesized_expression "(iVar44 + 0xb)" (( "(") (binary_expression "iVar44 + 0xb" (identifier "iVar44") (+ "+") (number_literal "0xb")) () ")")) (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "iVar18 + 1" (identifier "iVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar20 = iVar44 + 2;" (assignment_expression "iVar20 = iVar44 + 2" (identifier "iVar20") (= "=") (binary_expression "iVar44 + 2" (identifier "iVar44") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar44 = iVar20;" (assignment_expression "iVar44 = iVar20" (identifier "iVar44") (= "=") (identifier "iVar20")) (; ";")) (expression_statement "bVar22 = pEVar47->e_ident_pad[3];" (assignment_expression "bVar22 = pEVar47->e_ident_pad[3]" (identifier "bVar22") (= "=") (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;" (assignment_expression "iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version" (identifier "iVar20") (= "=") (binary_expression "(int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version" (cast_expression "(int)pEStack_1f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f4")) (- "-") (binary_expression "(uint)*(ushort *)&pEVar47->e_version" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)&pEVar47->e_version" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar47->e_version" (& "&") (field_expression "pEVar47->e_version" (identifier "pEVar47") (-> "->") (field_identifier "e_version"))))))) (; ";")) (expression_statement "*(int *)pEVar49 = iVar20;" (assignment_expression "*(int *)pEVar49 = iVar20" (pointer_expression "*(int *)pEVar49" (* "*") (cast_expression "(int *)pEVar49" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar49"))) (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (bVar22 != 0) {\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }" (if "if") (parenthesized_expression "(bVar22 != 0)" (( "(") (binary_expression "bVar22 != 0" (identifier "bVar22") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pdVar27 = &pEVar47->e_flags;\n      iVar35 = 0;\n      do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);\n    }" ({ "{") (expression_statement "pdVar27 = &pEVar47->e_flags;" (assignment_expression "pdVar27 = &pEVar47->e_flags" (identifier "pdVar27") (= "=") (pointer_expression "&pEVar47->e_flags" (& "&") (field_expression "pEVar47->e_flags" (identifier "pEVar47") (-> "->") (field_identifier "e_flags")))) (; ";")) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      } while (iVar35 < (int)(uint)bVar22);" (do "do") (compound_statement "{\n        dVar30 = *pdVar27;\n        iVar35 = iVar35 + 1;\n        pdVar27 = pdVar27 + 1;\n        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);\n        bVar22 = pEVar47->e_ident_pad[3];\n        iVar20 = iVar20 + iVar19 + 2;\n        *(int *)pEVar49 = iVar20;\n      }" ({ "{") (expression_statement "dVar30 = *pdVar27;" (assignment_expression "dVar30 = *pdVar27" (identifier "dVar30") (= "=") (pointer_expression "*pdVar27" (* "*") (identifier "pdVar27"))) (; ";")) (expression_statement "iVar35 = iVar35 + 1;" (assignment_expression "iVar35 = iVar35 + 1" (identifier "iVar35") (= "=") (binary_expression "iVar35 + 1" (identifier "iVar35") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" (identifier "pdVar27") (= "=") (binary_expression "pdVar27 + 1" (identifier "pdVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);" (assignment_expression "iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30)" (identifier "iVar19") (= "=") (call_expression "(*(code *)pEVar47[1].e_entry)(pEVar47,dVar30)" (parenthesized_expression "(*(code *)pEVar47[1].e_entry)" (( "(") (pointer_expression "*(code *)pEVar47[1].e_entry" (* "*") (cast_expression "(code *)pEVar47[1].e_entry" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar47[1].e_entry" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_entry")))) () ")")) (argument_list "(pEVar47,dVar30)" (( "(") (identifier "pEVar47") (, ",") (identifier "dVar30") () ")")))) (; ";")) (expression_statement "bVar22 = pEVar47->e_ident_pad[3];" (assignment_expression "bVar22 = pEVar47->e_ident_pad[3]" (identifier "bVar22") (= "=") (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar20 = iVar20 + iVar19 + 2;" (assignment_expression "iVar20 = iVar20 + iVar19 + 2" (identifier "iVar20") (= "=") (binary_expression "iVar20 + iVar19 + 2" (binary_expression "iVar20 + iVar19" (identifier "iVar20") (+ "+") (identifier "iVar19")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*(int *)pEVar49 = iVar20;" (assignment_expression "*(int *)pEVar49 = iVar20" (pointer_expression "*(int *)pEVar49" (* "*") (cast_expression "(int *)pEVar49" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar49"))) (= "=") (identifier "iVar20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar35 < (int)(uint)bVar22)" (( "(") (binary_expression "iVar35 < (int)(uint)bVar22" (identifier "iVar35") (< "<") (cast_expression "(int)(uint)bVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(uint)bVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar22")))) () ")")) (; ";")) (} "}"))) (expression_statement "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;" (assignment_expression "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18" (pointer_expression "*(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" (* "*") (cast_expression "(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" (( "(") (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10 + -1" (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10" (field_expression "pEStack_1a8->e_ident_magic_str" (identifier "pEStack_1a8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar10")) (+ "+") (number_literal "-1")) () ")")))) (= "=") (identifier "iVar18")) (; ";")) (if_statement "if (iStack_1d0 == iVar10) break;" (if "if") (parenthesized_expression "(iStack_1d0 == iVar10)" (( "(") (binary_expression "iStack_1d0 == iVar10" (identifier "iStack_1d0") (== "==") (identifier "iVar10")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar49->e_ident_class" (& "&") (field_expression "pEVar49->e_ident_class" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (expression_statement "pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" (identifier "pEVar47") (= "=") (pointer_expression "*(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" (* "*") (cast_expression "(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppEStack_1dc + iVar10 + 4)" (( "(") (binary_expression "(int)ppEStack_1dc + iVar10 + 4" (binary_expression "(int)ppEStack_1dc + iVar10" (cast_expression "(int)ppEStack_1dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppEStack_1dc")) (+ "+") (identifier "iVar10")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar10 = iVar10 + 4;" (assignment_expression "iVar10 = iVar10 + 4" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_cc" (identifier "pEStack_1e8") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_cc" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_cc"))) (; ";")) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (identifier "pEStack_1ec") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" (* "*") (cast_expression "(int *)(puVar53 + 0xb753c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb753c)" (( "(") (binary_expression "puVar53 + 0xb753c" (identifier "puVar53") (+ "+") (number_literal "0xb753c")) () ")")))) (+ "+") (number_literal "-0x14d8")) () ")")))) (; ";")) (expression_statement "pEVar47 = (Elf32_Ehdr *)0x1;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)0x1" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)0x1" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)&SUB_00000002;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&SUB_00000002" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)&SUB_00000002" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) (; ";")) (expression_statement "pEVar42 = pEStack_1a8;" (assignment_expression "pEVar42 = pEStack_1a8" (identifier "pEVar42") (= "=") (identifier "pEStack_1a8")) (; ";")) (expression_statement "pEVar54 = &EStack_108;" (assignment_expression "pEVar54 = &EStack_108" (identifier "pEVar54") (= "=") (pointer_expression "&EStack_108" (& "&") (identifier "EStack_108"))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)0x0" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (while_statement "while( true ) {\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);\n    iVar44._0_1_ = pEVar54->e_ident_magic_num;\n    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];\n    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];\n    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];\n    pEStack_1b8 = (Elf32_Ehdr *)0x0;\n    pEVar50 = pEVar48;\n    pEVar11 = pEVar48;\n    pEVar51 = pEVar42;\n    pEStack_1d4 = pEStack_1a8;\n    pEStack_1b0 = pEVar7;\n    if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }\n    iVar10 = auStack_cc._0_4_;\n    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;\n    while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }\n    if (iVar10 <= (int)pEVar50) break;\n    iVar20 = 0;\n    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }\n    bVar4 = (int)pEVar48 <= (int)pEVar47;\n    pEStack_1f0 = pEVar48;\n    if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }\n    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;\n    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;\n    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;\n    if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }\n  }" ({ "{") (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1)" (identifier "pEStack_1c4") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar47[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar47[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar47[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar47[-1].e_shstrndx" (& "&") (field_expression "pEVar47[-1].e_shstrndx" (subscript_expression "pEVar47[-1]" (identifier "pEVar47") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar44._0_1_ = pEVar54->e_ident_magic_num;" (assignment_expression "iVar44._0_1_ = pEVar54->e_ident_magic_num" (field_expression "iVar44._0_1_" (identifier "iVar44") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "pEVar54->e_ident_magic_num" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_magic_num"))) (; ";")) (expression_statement "iVar44._1_1_ = pEVar54->e_ident_magic_str[0];" (assignment_expression "iVar44._1_1_ = pEVar54->e_ident_magic_str[0]" (field_expression "iVar44._1_1_" (identifier "iVar44") (. ".") (field_identifier "_1_1_")) (= "=") (subscript_expression "pEVar54->e_ident_magic_str[0]" (field_expression "pEVar54->e_ident_magic_str" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iVar44._2_1_ = pEVar54->e_ident_magic_str[1];" (assignment_expression "iVar44._2_1_ = pEVar54->e_ident_magic_str[1]" (field_expression "iVar44._2_1_" (identifier "iVar44") (. ".") (field_identifier "_2_1_")) (= "=") (subscript_expression "pEVar54->e_ident_magic_str[1]" (field_expression "pEVar54->e_ident_magic_str" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar44._3_1_ = pEVar54->e_ident_magic_str[2];" (assignment_expression "iVar44._3_1_ = pEVar54->e_ident_magic_str[2]" (field_expression "iVar44._3_1_" (identifier "iVar44") (. ".") (field_identifier "_3_1_")) (= "=") (subscript_expression "pEVar54->e_ident_magic_str[2]" (field_expression "pEVar54->e_ident_magic_str" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)0x0" (identifier "pEStack_1b8") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" (identifier "pEVar50") (= "=") (identifier "pEVar48")) (; ";")) (expression_statement "pEVar11 = pEVar48;" (assignment_expression "pEVar11 = pEVar48" (identifier "pEVar11") (= "=") (identifier "pEVar48")) (; ";")) (expression_statement "pEVar51 = pEVar42;" (assignment_expression "pEVar51 = pEVar42" (identifier "pEVar51") (= "=") (identifier "pEVar42")) (; ";")) (expression_statement "pEStack_1d4 = pEStack_1a8;" (assignment_expression "pEStack_1d4 = pEStack_1a8" (identifier "pEStack_1d4") (= "=") (identifier "pEStack_1a8")) (; ";")) (expression_statement "pEStack_1b0 = pEVar7;" (assignment_expression "pEStack_1b0 = pEVar7" (identifier "pEStack_1b0") (= "=") (identifier "pEVar7")) (; ";")) (if_statement "if ((int)pEStack_1f4 < iVar44) {\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }\n    else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" (if "if") (parenthesized_expression "((int)pEStack_1f4 < iVar44)" (( "(") (binary_expression "(int)pEStack_1f4 < iVar44" (cast_expression "(int)pEStack_1f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f4")) (< "<") (identifier "iVar44")) () ")")) (compound_statement "{\n      do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);\n    }" ({ "{") (do_statement "do {\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      } while ((int)pEStack_1f4 < iVar44);" (do "do") (compound_statement "{\n        pEVar48 = pEVar50;\n        if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }\n        pEVar48 = pEVar11;\n        pEVar51 = *(Elf32_Ehdr **)pEVar42;\n        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);\n        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);\n        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);\n        if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }\n        iVar10 = uVar25 + 2;\n        iVar44 = *(int *)pEVar54 - iVar10;\n        *(int *)pEVar54 = iVar44;\n        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }\n        iVar20 = *(int *)&pEVar54->e_ident_class;\n        *(Elf32_Ehdr **)pEVar42 = pEVar50;\n        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;\n        pEVar11 = pEVar48;\n      }" ({ "{") (expression_statement "pEVar48 = pEVar50;" (assignment_expression "pEVar48 = pEVar50" (identifier "pEVar48") (= "=") (identifier "pEVar50")) (; ";")) (if_statement "if ((int)pEVar11 <= (int)pEVar47) {\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }" (if "if") (parenthesized_expression "((int)pEVar11 <= (int)pEVar47)" (( "(") (binary_expression "(int)pEVar11 <= (int)pEVar47" (cast_expression "(int)pEVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar11")) (<= "<=") (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47"))) () ")")) (compound_statement "{\n          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }\n          pEVar54->e_ident_class = 0;\n          pEVar54->e_ident_data = 0;\n          pEVar54->e_ident_version = 0;\n          pEVar54->e_ident_osabi = 0;\n          pEVar42->e_ident_class = auStack_cc[0];\n          pEVar42->e_ident_data = auStack_cc[1];\n          pEVar42->e_ident_version = auStack_cc[2];\n          pEVar42->e_ident_osabi = auStack_cc[3];\n          pEVar11 = pEVar49;\n        }" ({ "{") (if_statement "if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }" (if "if") (parenthesized_expression "(pEVar49 == (Elf32_Ehdr *)&DAT_00000006)" (( "(") (binary_expression "pEVar49 == (Elf32_Ehdr *)&DAT_00000006" (identifier "pEVar49") (== "==") (cast_expression "(Elf32_Ehdr *)&DAT_00000006" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000006" (& "&") (identifier "DAT_00000006")))) () ")")) (compound_statement "{\n            uVar13 = 0x11477;\n            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;\n            pEStack_1b8 = pEStack_1c4;\n            goto LAB_000a46ec;\n          }" ({ "{") (expression_statement "uVar13 = 0x11477;" (assignment_expression "uVar13 = 0x11477" (identifier "uVar13") (= "=") (number_literal "0x11477")) (; ";")) (expression_statement "pEVar50 = (Elf32_Ehdr *)&DAT_00000006;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)&DAT_00000006" (identifier "pEVar50") (= "=") (cast_expression "(Elf32_Ehdr *)&DAT_00000006" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000006" (& "&") (identifier "DAT_00000006")))) (; ";")) (expression_statement "pEStack_1b8 = pEStack_1c4;" (assignment_expression "pEStack_1b8 = pEStack_1c4" (identifier "pEStack_1b8") (= "=") (identifier "pEStack_1c4")) (; ";")) (goto_statement "goto LAB_000a46ec;" (goto "goto") (statement_identifier "LAB_000a46ec") (; ";")) (} "}"))) (expression_statement "pEVar54->e_ident_class = 0;" (assignment_expression "pEVar54->e_ident_class = 0" (field_expression "pEVar54->e_ident_class" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_class")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pEVar54->e_ident_data = 0;" (assignment_expression "pEVar54->e_ident_data = 0" (field_expression "pEVar54->e_ident_data" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_data")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pEVar54->e_ident_version = 0;" (assignment_expression "pEVar54->e_ident_version = 0" (field_expression "pEVar54->e_ident_version" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_version")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pEVar54->e_ident_osabi = 0;" (assignment_expression "pEVar54->e_ident_osabi = 0" (field_expression "pEVar54->e_ident_osabi" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_osabi")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pEVar42->e_ident_class = auStack_cc[0];" (assignment_expression "pEVar42->e_ident_class = auStack_cc[0]" (field_expression "pEVar42->e_ident_class" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_class")) (= "=") (subscript_expression "auStack_cc[0]" (identifier "auStack_cc") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pEVar42->e_ident_data = auStack_cc[1];" (assignment_expression "pEVar42->e_ident_data = auStack_cc[1]" (field_expression "pEVar42->e_ident_data" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_data")) (= "=") (subscript_expression "auStack_cc[1]" (identifier "auStack_cc") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pEVar42->e_ident_version = auStack_cc[2];" (assignment_expression "pEVar42->e_ident_version = auStack_cc[2]" (field_expression "pEVar42->e_ident_version" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_version")) (= "=") (subscript_expression "auStack_cc[2]" (identifier "auStack_cc") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pEVar42->e_ident_osabi = auStack_cc[3];" (assignment_expression "pEVar42->e_ident_osabi = auStack_cc[3]" (field_expression "pEVar42->e_ident_osabi" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_osabi")) (= "=") (subscript_expression "auStack_cc[3]" (identifier "auStack_cc") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pEVar11 = pEVar49;" (assignment_expression "pEVar11 = pEVar49" (identifier "pEVar11") (= "=") (identifier "pEVar49")) (; ";")) (} "}"))) (expression_statement "pEVar48 = pEVar11;" (assignment_expression "pEVar48 = pEVar11" (identifier "pEVar48") (= "=") (identifier "pEVar11")) (; ";")) (expression_statement "pEVar51 = *(Elf32_Ehdr **)pEVar42;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)pEVar42" (identifier "pEVar51") (= "=") (pointer_expression "*(Elf32_Ehdr **)pEVar42" (* "*") (cast_expression "(Elf32_Ehdr **)pEVar42" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEVar42")))) (; ";")) (expression_statement "pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1)" (identifier "pEVar50") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar51[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar51[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar51[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar51[-1].e_shstrndx" (& "&") (field_expression "pEVar51[-1].e_shstrndx" (subscript_expression "pEVar51[-1]" (identifier "pEVar51") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2)" (identifier "pEVar11") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEVar50 * 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEVar50 * 2)" (( "(") (binary_expression "(int)pEVar50 * 2" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);" (assignment_expression "uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" (identifier "uVar25") (= "=") (binary_expression "(uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1)" (( "(") (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" (identifier "pEVar11") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (if_statement "if (uVar25 == 0) {\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }" (if "if") (parenthesized_expression "(uVar25 == 0)" (( "(") (binary_expression "uVar25 == 0" (identifier "uVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          pEStack_1f0 = pEVar11;\n        }" ({ "{") (expression_statement "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (identifier "uVar25") (= "=") (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" (( "(") (pointer_expression "*(code *)pEStack_1ec" (* "*") (cast_expression "(code *)pEStack_1ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1ec"))) () ")")) (argument_list "(pEStack_1e8,pEVar50)" (( "(") (identifier "pEStack_1e8") (, ",") (identifier "pEVar50") () ")")))) (; ";")) (expression_statement "pEStack_1f0 = pEVar11;" (assignment_expression "pEStack_1f0 = pEVar11" (identifier "pEStack_1f0") (= "=") (identifier "pEVar11")) (; ";")) (} "}"))) (expression_statement "iVar10 = uVar25 + 2;" (assignment_expression "iVar10 = uVar25 + 2" (identifier "iVar10") (= "=") (binary_expression "uVar25 + 2" (identifier "uVar25") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar44 = *(int *)pEVar54 - iVar10;" (assignment_expression "iVar44 = *(int *)pEVar54 - iVar10" (identifier "iVar44") (= "=") (binary_expression "*(int *)pEVar54 - iVar10" (pointer_expression "*(int *)pEVar54" (* "*") (cast_expression "(int *)pEVar54" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar54"))) (- "-") (identifier "iVar10"))) (; ";")) (expression_statement "*(int *)pEVar54 = iVar44;" (assignment_expression "*(int *)pEVar54 = iVar44" (pointer_expression "*(int *)pEVar54" (* "*") (cast_expression "(int *)pEVar54" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar54"))) (= "=") (identifier "iVar44")) (; ";")) (if_statement "if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }" (if "if") (parenthesized_expression "(((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0))" (( "(") (binary_expression "((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&\n           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)" (parenthesized_expression "((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_))" (( "(") (binary_expression "(pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)" (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)" (( "(") (comma_expression "iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (, ",") (binary_expression "(int)pEVar51 < (int)auStack_cc._0_4_" (cast_expression "(int)pEVar51" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar51")) (< "<") (cast_expression "(int)auStack_cc._0_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)" (( "(") (comma_expression "iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,\n           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0" (assignment_expression "iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2" (identifier "iVar10") (= "=") (binary_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2" (pointer_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" (* "*") (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" (( "(") (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + 1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" (identifier "pEVar11") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (+ "+") (number_literal "2"))) (, ",") (binary_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0" (pointer_expression "*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" (* "*") (cast_expression "(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1)" (( "(") (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0] + 1" (binary_expression "pEVar11->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar11->e_ident_magic_str" (identifier "pEVar11") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);\n          iVar10 = iVar10 + 2;\n        }" ({ "{") (expression_statement "iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);" (assignment_expression "iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51)" (identifier "iVar10") (= "=") (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar51)" (parenthesized_expression "(*(code *)pEStack_1ec)" (( "(") (pointer_expression "*(code *)pEStack_1ec" (* "*") (cast_expression "(code *)pEStack_1ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1ec"))) () ")")) (argument_list "(pEStack_1e8,pEVar51)" (( "(") (identifier "pEStack_1e8") (, ",") (identifier "pEVar51") () ")")))) (; ";")) (expression_statement "iVar10 = iVar10 + 2;" (assignment_expression "iVar10 = iVar10 + 2" (identifier "iVar10") (= "=") (binary_expression "iVar10 + 2" (identifier "iVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar20 = *(int *)&pEVar54->e_ident_class;" (assignment_expression "iVar20 = *(int *)&pEVar54->e_ident_class" (identifier "iVar20") (= "=") (pointer_expression "*(int *)&pEVar54->e_ident_class" (* "*") (cast_expression "(int *)&pEVar54->e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar54->e_ident_class" (& "&") (field_expression "pEVar54->e_ident_class" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "*(Elf32_Ehdr **)pEVar42 = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEVar42 = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEVar42" (* "*") (cast_expression "(Elf32_Ehdr **)pEVar42" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEVar42"))) (= "=") (identifier "pEVar50")) (; ";")) (expression_statement "*(int *)&pEVar54->e_ident_class = iVar20 + iVar10;" (assignment_expression "*(int *)&pEVar54->e_ident_class = iVar20 + iVar10" (pointer_expression "*(int *)&pEVar54->e_ident_class" (* "*") (cast_expression "(int *)&pEVar54->e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar54->e_ident_class" (& "&") (field_expression "pEVar54->e_ident_class" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_class"))))) (= "=") (binary_expression "iVar20 + iVar10" (identifier "iVar20") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "pEVar11 = pEVar48;" (assignment_expression "pEVar11 = pEVar48" (identifier "pEVar11") (= "=") (identifier "pEVar48")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pEStack_1f4 < iVar44)" (( "(") (binary_expression "(int)pEStack_1f4 < iVar44" (cast_expression "(int)pEStack_1f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f4")) (< "<") (identifier "iVar44")) () ")")) (; ";")) (} "}")) (else_clause "else {\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" (else "else") (compound_statement "{\n      pEVar50 = *(Elf32_Ehdr **)pEVar42;\n    }" ({ "{") (expression_statement "pEVar50 = *(Elf32_Ehdr **)pEVar42;" (assignment_expression "pEVar50 = *(Elf32_Ehdr **)pEVar42" (identifier "pEVar50") (= "=") (pointer_expression "*(Elf32_Ehdr **)pEVar42" (* "*") (cast_expression "(Elf32_Ehdr **)pEVar42" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEVar42")))) (; ";")) (} "}")))) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" (identifier "iVar10") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (if_statement "if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;" (if "if") (parenthesized_expression "((int)auStack_cc._0_4_ <= (int)pEVar50)" (( "(") (binary_expression "(int)auStack_cc._0_4_ <= (int)pEVar50" (cast_expression "(int)auStack_cc._0_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (<= "<=") (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (while_statement "while( true ) {\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      iVar44 = (int)pEVar50 * 2;\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }\n      iVar20 = uVar25 + 2;\n      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;\n      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;\n      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;\n      *(Elf32_Ehdr **)pEVar42 = pEVar50;\n      bVar4 = (int)pEVar50 < iVar10;\n      if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }\n      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;\n      if (!bVar4) goto LAB_000a4c3c;\n    }" ({ "{") (expression_statement "iVar44 = (int)pEVar50 * 2;" (assignment_expression "iVar44 = (int)pEVar50 * 2" (identifier "iVar44") (= "=") (binary_expression "(int)pEVar50 * 2" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (* "*") (number_literal "2"))) (; ";")) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44)" (identifier "uVar25") (= "=") (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + iVar44)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(aiStack_c0[0] + iVar44)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + iVar44)" (( "(") (binary_expression "aiStack_c0[0] + iVar44" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (identifier "iVar44")) () ")"))))) (; ";")) (if_statement "if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }" (if "if") (parenthesized_expression "(uVar25 == 0)" (( "(") (binary_expression "uVar25 == 0" (identifier "uVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n        iVar10 = auStack_cc._0_4_;\n      }" ({ "{") (expression_statement "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (identifier "uVar25") (= "=") (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" (( "(") (pointer_expression "*(code *)pEStack_1ec" (* "*") (cast_expression "(code *)pEStack_1ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1ec"))) () ")")) (argument_list "(pEStack_1e8,pEVar50)" (( "(") (identifier "pEStack_1e8") (, ",") (identifier "pEVar50") () ")")))) (; ";")) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" (identifier "iVar10") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (} "}"))) (expression_statement "iVar20 = uVar25 + 2;" (assignment_expression "iVar20 = uVar25 + 2" (identifier "iVar20") (= "=") (binary_expression "uVar25 + 2" (identifier "uVar25") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;" (if "if") (parenthesized_expression "((int)pEStack_1f4 < iVar20 + *(int *)pEVar54)" (( "(") (binary_expression "(int)pEStack_1f4 < iVar20 + *(int *)pEVar54" (cast_expression "(int)pEStack_1f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f4")) (< "<") (binary_expression "iVar20 + *(int *)pEVar54" (identifier "iVar20") (+ "+") (pointer_expression "*(int *)pEVar54" (* "*") (cast_expression "(int *)pEVar54" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar54"))))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str" (identifier "pEVar50") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar50->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar50->e_ident_magic_str" (identifier "pEVar50") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "*(int *)pEVar54 = iVar20 + *(int *)pEVar54;" (assignment_expression "*(int *)pEVar54 = iVar20 + *(int *)pEVar54" (pointer_expression "*(int *)pEVar54" (* "*") (cast_expression "(int *)pEVar54" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar54"))) (= "=") (binary_expression "iVar20 + *(int *)pEVar54" (identifier "iVar20") (+ "+") (pointer_expression "*(int *)pEVar54" (* "*") (cast_expression "(int *)pEVar54" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar54"))))) (; ";")) (expression_statement "*(Elf32_Ehdr **)pEVar42 = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEVar42 = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEVar42" (* "*") (cast_expression "(Elf32_Ehdr **)pEVar42" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEVar42"))) (= "=") (identifier "pEVar50")) (; ";")) (expression_statement "bVar4 = (int)pEVar50 < iVar10;" (assignment_expression "bVar4 = (int)pEVar50 < iVar10" (identifier "bVar4") (= "=") (binary_expression "(int)pEVar50 < iVar10" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (< "<") (identifier "iVar10"))) (; ";")) (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }" (if "if") (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (!bVar4) goto LAB_000a4c3c;\n        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);\n        iVar20 = uVar25 + 2;\n        if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }\n      }" ({ "{") (if_statement "if (!bVar4) goto LAB_000a4c3c;" (if "if") (parenthesized_expression "(!bVar4)" (( "(") (unary_expression "!bVar4" (! "!") (identifier "bVar4")) () ")")) (goto_statement "goto LAB_000a4c3c;" (goto "goto") (statement_identifier "LAB_000a4c3c") (; ";"))) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2)" (identifier "uVar25") (= "=") (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(aiStack_c0[0] + iVar44 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + iVar44 + 2)" (( "(") (binary_expression "aiStack_c0[0] + iVar44 + 2" (binary_expression "aiStack_c0[0] + iVar44" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (identifier "iVar44")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "iVar20 = uVar25 + 2;" (assignment_expression "iVar20 = uVar25 + 2" (identifier "iVar20") (= "=") (binary_expression "uVar25 + 2" (identifier "uVar25") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (uVar25 == 0) {\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }" (if "if") (parenthesized_expression "(uVar25 == 0)" (( "(") (binary_expression "uVar25 == 0" (identifier "uVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);\n          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;\n          iVar20 = iVar20 + 2;\n          iVar10 = auStack_cc._0_4_;\n        }" ({ "{") (expression_statement "iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);" (assignment_expression "iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (identifier "iVar20") (= "=") (call_expression "(*(code *)pEStack_1ec)(pEStack_1e8,pEVar50)" (parenthesized_expression "(*(code *)pEStack_1ec)" (( "(") (pointer_expression "*(code *)pEStack_1ec" (* "*") (cast_expression "(code *)pEStack_1ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1ec"))) () ")")) (argument_list "(pEStack_1e8,pEVar50)" (( "(") (identifier "pEStack_1e8") (, ",") (identifier "pEVar50") () ")")))) (; ";")) (expression_statement "bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;" (assignment_expression "bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_" (identifier "bVar4") (= "=") (binary_expression "(int)pEVar50 < (int)auStack_cc._0_4_" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (< "<") (cast_expression "(int)auStack_cc._0_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))))) (; ";")) (expression_statement "iVar20 = iVar20 + 2;" (assignment_expression "iVar20 = iVar20 + 2" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 2" (identifier "iVar20") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" (identifier "iVar10") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;" (assignment_expression "*(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20" (pointer_expression "*(int *)&pEVar54->e_ident_class" (* "*") (cast_expression "(int *)&pEVar54->e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar54->e_ident_class" (& "&") (field_expression "pEVar54->e_ident_class" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_class"))))) (= "=") (binary_expression "*(int *)&pEVar54->e_ident_class - iVar20" (pointer_expression "*(int *)&pEVar54->e_ident_class" (* "*") (cast_expression "(int *)&pEVar54->e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar54->e_ident_class" (& "&") (field_expression "pEVar54->e_ident_class" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_class"))))) (- "-") (identifier "iVar20"))) (; ";")) (if_statement "if (!bVar4) goto LAB_000a4c3c;" (if "if") (parenthesized_expression "(!bVar4)" (( "(") (unary_expression "!bVar4" (! "!") (identifier "bVar4")) () ")")) (goto_statement "goto LAB_000a4c3c;" (goto "goto") (statement_identifier "LAB_000a4c3c") (; ";"))) (} "}"))) (if_statement "if (iVar10 <= (int)pEVar50) break;" (if "if") (parenthesized_expression "(iVar10 <= (int)pEVar50)" (( "(") (binary_expression "iVar10 <= (int)pEVar50" (identifier "iVar10") (<= "<=") (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }" (if "if") (parenthesized_expression "(pEStack_1c4 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEStack_1c4 != (Elf32_Ehdr *)0x0" (identifier "pEStack_1c4") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;\n      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;\n    }" ({ "{") (expression_statement "iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;" (assignment_expression "iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum" (field_expression "iVar20._0_2_" (identifier "iVar20") (. ".") (field_identifier "_0_2_")) (= "=") (field_expression "pEVar42[-0xffffffff00000001].e_shnum" (subscript_expression "pEVar42[-0xffffffff00000001]" (identifier "pEVar42") ([ "[") (number_literal "-0xffffffff00000001") (] "]")) (. ".") (field_identifier "e_shnum"))) (; ";")) (expression_statement "iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;" (assignment_expression "iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx" (field_expression "iVar20._2_2_" (identifier "iVar20") (. ".") (field_identifier "_2_2_")) (= "=") (field_expression "pEVar42[-0xffffffff00000001].e_shstrndx" (subscript_expression "pEVar42[-0xffffffff00000001]" (identifier "pEVar42") ([ "[") (number_literal "-0xffffffff00000001") (] "]")) (. ".") (field_identifier "e_shstrndx"))) (; ";")) (} "}"))) (expression_statement "bVar4 = (int)pEVar48 <= (int)pEVar47;" (assignment_expression "bVar4 = (int)pEVar48 <= (int)pEVar47" (identifier "bVar4") (= "=") (binary_expression "(int)pEVar48 <= (int)pEVar47" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (<= "<=") (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")))) (; ";")) (expression_statement "pEStack_1f0 = pEVar48;" (assignment_expression "pEStack_1f0 = pEVar48" (identifier "pEStack_1f0") (= "=") (identifier "pEVar48")) (; ";")) (if_statement "if ((int)pEVar50 <= iVar20) {\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }" (if "if") (parenthesized_expression "((int)pEVar50 <= iVar20)" (( "(") (binary_expression "(int)pEVar50 <= iVar20" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (<= "<=") (identifier "iVar20")) () ")")) (compound_statement "{\n      uVar13 = 0x11498;\n      pEVar51 = pEVar42;\n      pEStack_1b8 = pEStack_1c4;\n      goto LAB_000a46ec;\n    }" ({ "{") (expression_statement "uVar13 = 0x11498;" (assignment_expression "uVar13 = 0x11498" (identifier "uVar13") (= "=") (number_literal "0x11498")) (; ";")) (expression_statement "pEVar51 = pEVar42;" (assignment_expression "pEVar51 = pEVar42" (identifier "pEVar51") (= "=") (identifier "pEVar42")) (; ";")) (expression_statement "pEStack_1b8 = pEStack_1c4;" (assignment_expression "pEStack_1b8 = pEStack_1c4" (identifier "pEStack_1b8") (= "=") (identifier "pEStack_1c4")) (; ";")) (goto_statement "goto LAB_000a46ec;" (goto "goto") (statement_identifier "LAB_000a46ec") (; ";")) (} "}"))) (expression_statement "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar47->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar47->e_ident_magic_str" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class" (identifier "pEVar54") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar54->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar54->e_ident_class" (& "&") (field_expression "pEVar54->e_ident_class" (identifier "pEVar54") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (expression_statement "pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;" (assignment_expression "pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class" (identifier "pEVar42") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar42->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar42->e_ident_class" (& "&") (field_expression "pEVar42->e_ident_class" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar49->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (if_statement "if (bVar4) {\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\n      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);\n      pEVar47 = pEVar48;\n      break;\n    }" ({ "{") (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" (identifier "pEStack_1c4") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar48[-1].e_shstrndx" (& "&") (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" (identifier "pEVar48") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEVar47 = pEVar48;" (assignment_expression "pEVar47 = pEVar48" (identifier "pEVar47") (= "=") (identifier "pEVar48")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000a4c3c:\n  iVar10 = (int)pEStack_1c4 * 4;" (statement_identifier "LAB_000a4c3c") (: ":") (expression_statement "iVar10 = (int)pEStack_1c4 * 4;" (assignment_expression "iVar10 = (int)pEStack_1c4 * 4" (identifier "iVar10") (= "=") (binary_expression "(int)pEStack_1c4 * 4" (cast_expression "(int)pEStack_1c4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1c4")) (* "*") (number_literal "4"))) (; ";"))) (if_statement "if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" (if "if") (parenthesized_expression "(pEStack_1c4 == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEStack_1c4 == (Elf32_Ehdr *)0x0" (identifier "pEStack_1c4") (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;\n    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);\n    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);\n    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);\n    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);\n    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;\n    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;\n    pEVar49 = pEStack_1ec;\n    pEVar50 = (Elf32_Ehdr *)0x0;\n    do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);\n    piVar40 = (int *)(auStack_144 + 4);\n    pwVar28 = &EStack_108.e_phnum;\n    pwVar33 = awStack_15c;\n    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);\n    puVar17 = (undefined1 *)0x1;\n    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);\n    EStack_108.e_phentsize = (short)EStack_108.e_version;\n    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);\n    pdVar27 = &EStack_108.e_version;\n    while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }\n    iVar44 = 0;\n    pEVar49 = pEStack_1ec;\n    do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );\n  }" ({ "{") (labeled_statement "LAB_000a4ef4:\n    pEStack_1ec = (Elf32_Ehdr *)auStack_144;" (statement_identifier "LAB_000a4ef4") (: ":") (expression_statement "pEStack_1ec = (Elf32_Ehdr *)auStack_144;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)auStack_144" (identifier "pEStack_1ec") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_144" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_144"))) (; ";"))) (expression_statement "pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);" (assignment_expression "pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4)" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)(auStack_188 + 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_188 + 4)" (( "(") (binary_expression "auStack_188 + 4" (identifier "auStack_188") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660)" (identifier "pEStack_1e8") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb75e4) + 0x1660)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb75e4) + 0x1660" (pointer_expression "*(int *)(puVar53 + 0xb75e4)" (* "*") (cast_expression "(int *)(puVar53 + 0xb75e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb75e4)" (( "(") (binary_expression "puVar53 + 0xb75e4" (identifier "puVar53") (+ "+") (number_literal "0xb75e4")) () ")")))) (+ "+") (number_literal "0x1660")) () ")")))) (; ";")) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474)" (identifier "pEStack_1d4") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x7474)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x7474" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x7474")) () ")")))) (; ";")) (expression_statement "pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);" (assignment_expression "pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4)" (identifier "pEStack_1c4") (= "=") (pointer_expression "*(Elf32_Ehdr **)(puVar53 + 0xb75e4)" (* "*") (cast_expression "(Elf32_Ehdr **)(puVar53 + 0xb75e4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb75e4)" (( "(") (binary_expression "puVar53 + 0xb75e4" (identifier "puVar53") (+ "+") (number_literal "0xb75e4")) () ")"))))) (; ";")) (expression_statement "bVar22 = **(byte **)&pEStack_150[1].e_ident_class;" (assignment_expression "bVar22 = **(byte **)&pEStack_150[1].e_ident_class" (identifier "bVar22") (= "=") (pointer_expression "**(byte **)&pEStack_150[1].e_ident_class" (* "*") (pointer_expression "*(byte **)&pEStack_150[1].e_ident_class" (* "*") (cast_expression "(byte **)&pEStack_150[1].e_ident_class" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_150[1].e_ident_class" (& "&") (field_expression "pEStack_150[1].e_ident_class" (subscript_expression "pEStack_150[1]" (identifier "pEStack_150") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class"))))))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)(uint)bVar22" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar22")))) (; ";")) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" (identifier "pEVar49") (= "=") (identifier "pEStack_1ec")) (; ";")) (expression_statement "pEVar50 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)0x0" (identifier "pEVar50") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while ((int)pEVar50 < (int)pEVar47);" (do "do") (compound_statement "{\n      pEVar42 = pEVar50;\n      pEVar50 = pEVar48;\n      if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }\n      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    }" ({ "{") (expression_statement "pEVar42 = pEVar50;" (assignment_expression "pEVar42 = pEVar50" (identifier "pEVar42") (= "=") (identifier "pEVar50")) (; ";")) (expression_statement "pEVar50 = pEVar48;" (assignment_expression "pEVar50 = pEVar48" (identifier "pEVar50") (= "=") (identifier "pEVar48")) (; ";")) (if_statement "if ((int)pEVar42 < (int)pcStack_1bc) {\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }\n      else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" (if "if") (parenthesized_expression "((int)pEVar42 < (int)pcStack_1bc)" (( "(") (binary_expression "(int)pEVar42 < (int)pcStack_1bc" (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (< "<") (cast_expression "(int)pcStack_1bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_1bc"))) () ")")) (compound_statement "{\n        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];\n        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;\n        *(undefined4 *)pEVar49 = auStack_180._0_4_;\n        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);\njoined_r0x000a5018:\n        pEVar51 = pEVar26;\n        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      }" ({ "{") (expression_statement "auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];" (assignment_expression "auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42]" (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_")) (= "=") (subscript_expression "ppEStack_1dc[(int)pEVar42]" (identifier "ppEStack_1dc") ([ "[") (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (] "]"))) (; ";")) (expression_statement "ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;" (assignment_expression "ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0" (subscript_expression "ppEStack_1dc[(int)pEVar42]" (identifier "ppEStack_1dc") ([ "[") (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (] "]")) (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)pEVar49 = auStack_180._0_4_;" (assignment_expression "*(undefined4 *)pEVar49 = auStack_180._0_4_" (pointer_expression "*(undefined4 *)pEVar49" (* "*") (cast_expression "(undefined4 *)pEVar49" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar49"))) (= "=") (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);" (assignment_expression "auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" (identifier "FUN_0009c62c") (argument_list "(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version)" (( "(") (field_expression "((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version" (parenthesized_expression "((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))" (( "(") (cast_expression "(Elf32_Ehdr *)(auStack_180._0_4_ + 0x34)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_180._0_4_ + 0x34)" (( "(") (binary_expression "auStack_180._0_4_ + 0x34" (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x34")) () ")"))) () ")")) (-> "->") (field_identifier "e_version")) () ")")))) (; ";")) (labeled_statement "joined_r0x000a5018:\n        pEVar51 = pEVar26;" (statement_identifier "joined_r0x000a5018") (: ":") (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (; ";"))) (expression_statement "unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;" (assignment_expression "unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str" (identifier "unaff_s7") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar42->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar42->e_ident_magic_str" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (; ";")) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";"))) (} "}")) (else_clause "else {\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" (else "else") (compound_statement "{\n        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar42;\n        pEVar54 = pEVar7;\n        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);\n        uVar13 = auStack_cc._0_4_;\n        wVar6 = pEVar7->e_type;\n        pEVar49->e_ident_magic_num = auStack_180[0];\n        pEVar49->e_ident_magic_str[0] = auStack_180[1];\n        pEVar49->e_ident_magic_str[1] = auStack_180[2];\n        pEVar49->e_ident_magic_str[2] = auStack_180[3];\n        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;\n        if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }\n      }" ({ "{") (expression_statement "auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);" (assignment_expression "auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0)" (parenthesized_expression "(*(code *)pEStack_1e8)" (( "(") (pointer_expression "*(code *)pEStack_1e8" (* "*") (cast_expression "(code *)pEStack_1e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1e8"))) () ")")) (argument_list "(pEVar7,auStack_180,pEVar48,1,0)" (( "(") (identifier "pEVar7") (, ",") (identifier "auStack_180") (, ",") (identifier "pEVar48") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (; ";")) (expression_statement "unaff_s7 = pEVar42;" (assignment_expression "unaff_s7 = pEVar42" (identifier "unaff_s7") (= "=") (identifier "pEVar42")) (; ";")) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (; ";")) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";"))) (expression_statement "(*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);" (call_expression "(*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0)" (parenthesized_expression "(*(code *)pEStack_1d4)" (( "(") (pointer_expression "*(code *)pEStack_1d4" (* "*") (cast_expression "(code *)pEStack_1d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1d4"))) () ")")) (argument_list "(auStack_180._0_4_,pEStack_1f0)" (( "(") (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_")) (, ",") (identifier "pEStack_1f0") () ")"))) (; ";")) (expression_statement "uVar13 = auStack_cc._0_4_;" (assignment_expression "uVar13 = auStack_cc._0_4_" (identifier "uVar13") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "wVar6 = pEVar7->e_type;" (assignment_expression "wVar6 = pEVar7->e_type" (identifier "wVar6") (= "=") (field_expression "pEVar7->e_type" (identifier "pEVar7") (-> "->") (field_identifier "e_type"))) (; ";")) (expression_statement "pEVar49->e_ident_magic_num = auStack_180[0];" (assignment_expression "pEVar49->e_ident_magic_num = auStack_180[0]" (field_expression "pEVar49->e_ident_magic_num" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_num")) (= "=") (subscript_expression "auStack_180[0]" (identifier "auStack_180") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pEVar49->e_ident_magic_str[0] = auStack_180[1];" (assignment_expression "pEVar49->e_ident_magic_str[0] = auStack_180[1]" (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "auStack_180[1]" (identifier "auStack_180") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pEVar49->e_ident_magic_str[1] = auStack_180[2];" (assignment_expression "pEVar49->e_ident_magic_str[1] = auStack_180[2]" (subscript_expression "pEVar49->e_ident_magic_str[1]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "auStack_180[2]" (identifier "auStack_180") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pEVar49->e_ident_magic_str[2] = auStack_180[3];" (assignment_expression "pEVar49->e_ident_magic_str[2] = auStack_180[3]" (subscript_expression "pEVar49->e_ident_magic_str[2]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "auStack_180[3]" (identifier "auStack_180") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;" (assignment_expression "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13" (pointer_expression "*(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4)" (* "*") (cast_expression "(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbStack_1c0 + (int)pEVar42 * 4)" (( "(") (binary_expression "pbStack_1c0 + (int)pEVar42 * 4" (identifier "pbStack_1c0") (+ "+") (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (if_statement "if ((char)wVar6 != '\0') {\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }" (if "if") (parenthesized_expression "((char)wVar6 != '\0')" (( "(") (binary_expression "(char)wVar6 != '\0'" (cast_expression "(char)wVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "wVar6")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar13._0_1_ = pEVar26->e_ident_class;\n          uVar13._1_1_ = pEVar26->e_ident_data;\n          uVar13._2_1_ = pEVar26->e_ident_version;\n          uVar13._3_1_ = pEVar26->e_ident_osabi;\n          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);\n          goto joined_r0x000a5018;\n        }" ({ "{") (expression_statement "uVar13._0_1_ = pEVar26->e_ident_class;" (assignment_expression "uVar13._0_1_ = pEVar26->e_ident_class" (field_expression "uVar13._0_1_" (identifier "uVar13") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "pEVar26->e_ident_class" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_class"))) (; ";")) (expression_statement "uVar13._1_1_ = pEVar26->e_ident_data;" (assignment_expression "uVar13._1_1_ = pEVar26->e_ident_data" (field_expression "uVar13._1_1_" (identifier "uVar13") (. ".") (field_identifier "_1_1_")) (= "=") (field_expression "pEVar26->e_ident_data" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_data"))) (; ";")) (expression_statement "uVar13._2_1_ = pEVar26->e_ident_version;" (assignment_expression "uVar13._2_1_ = pEVar26->e_ident_version" (field_expression "uVar13._2_1_" (identifier "uVar13") (. ".") (field_identifier "_2_1_")) (= "=") (field_expression "pEVar26->e_ident_version" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_version"))) (; ";")) (expression_statement "uVar13._3_1_ = pEVar26->e_ident_osabi;" (assignment_expression "uVar13._3_1_ = pEVar26->e_ident_osabi" (field_expression "uVar13._3_1_" (identifier "uVar13") (. ".") (field_identifier "_3_1_")) (= "=") (field_expression "pEVar26->e_ident_osabi" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_osabi"))) (; ";")) (expression_statement "FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);" (call_expression "FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188)" (identifier "FUN_000a20b8") (argument_list "(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188)" (( "(") (identifier "pEVar7") (, ",") (pointer_expression "*(undefined4 *)(auStack_180._0_4_ + 4)" (* "*") (cast_expression "(undefined4 *)(auStack_180._0_4_ + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_180._0_4_ + 4)" (( "(") (binary_expression "auStack_180._0_4_ + 4" (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "5") (, ",") (identifier "uVar13") (, ",") (identifier "auStack_188") () ")"))) (; ";")) (goto_statement "goto joined_r0x000a5018;" (goto "goto") (statement_identifier "joined_r0x000a5018") (; ";")) (} "}"))) (} "}")))) (expression_statement "pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;" (assignment_expression "pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str" (identifier "pEVar50") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar42->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar42->e_ident_magic_str" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar49->e_ident_class" (& "&") (field_expression "pEVar49->e_ident_class" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pEVar50 < (int)pEVar47)" (( "(") (binary_expression "(int)pEVar50 < (int)pEVar47" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (< "<") (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47"))) () ")")) (; ";")) (expression_statement "piVar40 = (int *)(auStack_144 + 4);" (assignment_expression "piVar40 = (int *)(auStack_144 + 4)" (identifier "piVar40") (= "=") (cast_expression "(int *)(auStack_144 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144 + 4)" (( "(") (binary_expression "auStack_144 + 4" (identifier "auStack_144") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pwVar28 = &EStack_108.e_phnum;" (assignment_expression "pwVar28 = &EStack_108.e_phnum" (identifier "pwVar28") (= "=") (pointer_expression "&EStack_108.e_phnum" (& "&") (field_expression "EStack_108.e_phnum" (identifier "EStack_108") (. ".") (field_identifier "e_phnum")))) (; ";")) (expression_statement "pwVar33 = awStack_15c;" (assignment_expression "pwVar33 = awStack_15c" (identifier "pwVar33") (= "=") (identifier "awStack_15c")) (; ";")) (expression_statement "EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);" (assignment_expression "EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4)" (field_expression "EStack_108.e_version" (identifier "EStack_108") (. ".") (field_identifier "e_version")) (= "=") (pointer_expression "*(dword *)(auStack_144._0_4_ + 4)" (* "*") (cast_expression "(dword *)(auStack_144._0_4_ + 4)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 4)" (( "(") (binary_expression "auStack_144._0_4_ + 4" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar17 = (undefined1 *)0x1;" (assignment_expression "puVar17 = (undefined1 *)0x1" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)0x1" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);" (assignment_expression "EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10)" (field_expression "EStack_108.e_ehsize" (identifier "EStack_108") (. ".") (field_identifier "e_ehsize")) (= "=") (cast_expression "(short)(EStack_108.e_version >> 0x10)" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (parenthesized_expression "(EStack_108.e_version >> 0x10)" (( "(") (binary_expression "EStack_108.e_version >> 0x10" (field_expression "EStack_108.e_version" (identifier "EStack_108") (. ".") (field_identifier "e_version")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "EStack_108.e_phentsize = (short)EStack_108.e_version;" (assignment_expression "EStack_108.e_phentsize = (short)EStack_108.e_version" (field_expression "EStack_108.e_phentsize" (identifier "EStack_108") (. ".") (field_identifier "e_phentsize")) (= "=") (cast_expression "(short)EStack_108.e_version" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (field_expression "EStack_108.e_version" (identifier "EStack_108") (. ".") (field_identifier "e_version")))) (; ";")) (expression_statement "awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);" (assignment_expression "awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" (subscript_expression "awStack_15c[0]" (identifier "awStack_15c") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "*(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" (* "*") (cast_expression "(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c)" (( "(") (binary_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c" (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" (( "(") (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 0x34)" (( "(") (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x34")) () ")"))) () ")")) (-> "->") (field_identifier "e_version")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pdVar27 = &EStack_108.e_version;" (assignment_expression "pdVar27 = &EStack_108.e_version" (identifier "pdVar27") (= "=") (pointer_expression "&EStack_108.e_version" (& "&") (field_expression "EStack_108.e_version" (identifier "EStack_108") (. ".") (field_identifier "e_version")))) (; ";")) (while_statement "while( true ) {\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      pwVar33 = pwVar33 + 1;\n      iVar10 = *(int *)(puVar53 + 0xb753c);\n      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;\n      uVar25 = *(uint *)(*piVar40 + 4);\n      iVar10 = *(int *)(*piVar40 + 0x48);\n      pdVar27[1] = uVar25;\n      *(uint *)pwVar28 = uVar25;\n      bVar4 = uVar25 == EStack_108.e_version;\n      *pwVar33 = *(word *)(iVar10 + 0x1c);\n      pdVar15 = &EStack_108.e_version;\n      if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }\n      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }\n      puVar17 = puVar17 + 1;\n      pdVar27 = pdVar27 + 1;\n      piVar40 = piVar40 + 1;\n      pwVar28 = pwVar28 + 2;\n    }" ({ "{") (expression_statement "pwVar33 = pwVar33 + 1;" (assignment_expression "pwVar33 = pwVar33 + 1" (identifier "pwVar33") (= "=") (binary_expression "pwVar33 + 1" (identifier "pwVar33") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb753c);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb753c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar53 + 0xb753c)" (* "*") (cast_expression "(int *)(puVar53 + 0xb753c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb753c)" (( "(") (binary_expression "puVar53 + 0xb753c" (identifier "puVar53") (+ "+") (number_literal "0xb753c")) () ")"))))) (; ";")) (if_statement "if (pEVar50 == (Elf32_Ehdr *)puVar17) break;" (if "if") (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)puVar17)" (( "(") (binary_expression "pEVar50 == (Elf32_Ehdr *)puVar17" (identifier "pEVar50") (== "==") (cast_expression "(Elf32_Ehdr *)puVar17" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar25 = *(uint *)(*piVar40 + 4);" (assignment_expression "uVar25 = *(uint *)(*piVar40 + 4)" (identifier "uVar25") (= "=") (pointer_expression "*(uint *)(*piVar40 + 4)" (* "*") (cast_expression "(uint *)(*piVar40 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar40 + 4)" (( "(") (binary_expression "*piVar40 + 4" (pointer_expression "*piVar40" (* "*") (identifier "piVar40")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(*piVar40 + 0x48);" (assignment_expression "iVar10 = *(int *)(*piVar40 + 0x48)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(*piVar40 + 0x48)" (* "*") (cast_expression "(int *)(*piVar40 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar40 + 0x48)" (( "(") (binary_expression "*piVar40 + 0x48" (pointer_expression "*piVar40" (* "*") (identifier "piVar40")) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "pdVar27[1] = uVar25;" (assignment_expression "pdVar27[1] = uVar25" (subscript_expression "pdVar27[1]" (identifier "pdVar27") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "*(uint *)pwVar28 = uVar25;" (assignment_expression "*(uint *)pwVar28 = uVar25" (pointer_expression "*(uint *)pwVar28" (* "*") (cast_expression "(uint *)pwVar28" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar28"))) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "bVar4 = uVar25 == EStack_108.e_version;" (assignment_expression "bVar4 = uVar25 == EStack_108.e_version" (identifier "bVar4") (= "=") (binary_expression "uVar25 == EStack_108.e_version" (identifier "uVar25") (== "==") (field_expression "EStack_108.e_version" (identifier "EStack_108") (. ".") (field_identifier "e_version")))) (; ";")) (expression_statement "*pwVar33 = *(word *)(iVar10 + 0x1c);" (assignment_expression "*pwVar33 = *(word *)(iVar10 + 0x1c)" (pointer_expression "*pwVar33" (* "*") (identifier "pwVar33")) (= "=") (pointer_expression "*(word *)(iVar10 + 0x1c)" (* "*") (cast_expression "(word *)(iVar10 + 0x1c)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pdVar15 = &EStack_108.e_version;" (assignment_expression "pdVar15 = &EStack_108.e_version" (identifier "pdVar15") (= "=") (pointer_expression "&EStack_108.e_version" (& "&") (field_expression "EStack_108.e_version" (identifier "EStack_108") (. ".") (field_identifier "e_version")))) (; ";")) (if_statement "if (bVar4) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\n        iVar10 = *(int *)(puVar53 + 0xb7620);\nLAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);\n        pEVar51 = pEVar26;\n        unaff_s7 = pEVar50;\n        pEVar54 = pEVar7;\n        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);\n        goto LAB_000a443c;\n      }" ({ "{") (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")"))))) (; ";")) (labeled_statement "LAB_000a5138:\n        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);" (statement_identifier "LAB_000a5138") (: ":") (expression_statement "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);" (assignment_expression "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)(iVar10 + -0x75c0))(0x1150c)" (parenthesized_expression "(*(code *)(iVar10 + -0x75c0))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x75c0)" (* "*") (cast_expression "(code *)(iVar10 + -0x75c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x75c0)" (( "(") (binary_expression "iVar10 + -0x75c0" (identifier "iVar10") (+ "+") (number_literal "-0x75c0")) () ")")))) () ")")) (argument_list "(0x1150c)" (( "(") (number_literal "0x1150c") () ")")))) (; ";"))) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (; ";")) (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" (identifier "unaff_s7") (= "=") (identifier "pEVar50")) (; ";")) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (; ";")) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4)" (identifier "pEStack_1d4") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEVar42 * 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEVar42 * 4)" (( "(") (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (* "*") (number_literal "4")) () ")")))) (; ";")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";")) (} "}"))) (while_statement "while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }" (while "while") (parenthesized_expression "(pdVar16 = pdVar15 + 1, pdVar27 != pdVar15)" (( "(") (comma_expression "pdVar16 = pdVar15 + 1, pdVar27 != pdVar15" (assignment_expression "pdVar16 = pdVar15 + 1" (identifier "pdVar16") (= "=") (binary_expression "pdVar15 + 1" (identifier "pdVar15") (+ "+") (number_literal "1"))) (, ",") (binary_expression "pdVar27 != pdVar15" (identifier "pdVar27") (!= "!=") (identifier "pdVar15"))) () ")")) (compound_statement "{\n        iVar10 = *(int *)(puVar53 + 0xb7620);\n        pdVar15 = pdVar16;\n        if (uVar25 == *pdVar16) goto LAB_000a5138;\n      }" ({ "{") (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")"))))) (; ";")) (expression_statement "pdVar15 = pdVar16;" (assignment_expression "pdVar15 = pdVar16" (identifier "pdVar15") (= "=") (identifier "pdVar16")) (; ";")) (if_statement "if (uVar25 == *pdVar16) goto LAB_000a5138;" (if "if") (parenthesized_expression "(uVar25 == *pdVar16)" (( "(") (binary_expression "uVar25 == *pdVar16" (identifier "uVar25") (== "==") (pointer_expression "*pdVar16" (* "*") (identifier "pdVar16"))) () ")")) (goto_statement "goto LAB_000a5138;" (goto "goto") (statement_identifier "LAB_000a5138") (; ";"))) (} "}"))) (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" (identifier "puVar17") (= "=") (binary_expression "puVar17 + 1" (identifier "puVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar27 = pdVar27 + 1;" (assignment_expression "pdVar27 = pdVar27 + 1" (identifier "pdVar27") (= "=") (binary_expression "pdVar27 + 1" (identifier "pdVar27") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" (identifier "piVar40") (= "=") (binary_expression "piVar40 + 1" (identifier "piVar40") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pwVar28 = pwVar28 + 2;" (assignment_expression "pwVar28 = pwVar28 + 2" (identifier "pwVar28") (= "=") (binary_expression "pwVar28 + 2" (identifier "pwVar28") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" (identifier "iVar44") (= "=") (number_literal "0")) (; ";")) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" (identifier "pEVar49") (= "=") (identifier "pEStack_1ec")) (; ";")) (do_statement "do {\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    } while( true );" (do "do") (compound_statement "{\n      uVar25._0_2_ = EStack_108.e_ehsize;\n      uVar25._2_2_ = EStack_108.e_phentsize;\n      if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }\n      iVar44 = iVar44 + 1;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n      uVar25 = auStack_188._4_4_;\n      if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }\n    }" ({ "{") (expression_statement "uVar25._0_2_ = EStack_108.e_ehsize;" (assignment_expression "uVar25._0_2_ = EStack_108.e_ehsize" (field_expression "uVar25._0_2_" (identifier "uVar25") (. ".") (field_identifier "_0_2_")) (= "=") (field_expression "EStack_108.e_ehsize" (identifier "EStack_108") (. ".") (field_identifier "e_ehsize"))) (; ";")) (expression_statement "uVar25._2_2_ = EStack_108.e_phentsize;" (assignment_expression "uVar25._2_2_ = EStack_108.e_phentsize" (field_expression "uVar25._2_2_" (identifier "uVar25") (. ".") (field_identifier "_2_2_")) (= "=") (field_expression "EStack_108.e_phentsize" (identifier "EStack_108") (. ".") (field_identifier "e_phentsize"))) (; ";")) (if_statement "if (pEVar50 == (Elf32_Ehdr *)0x1) {\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }\n      else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" (if "if") (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)0x1)" (( "(") (binary_expression "pEVar50 == (Elf32_Ehdr *)0x1" (identifier "pEVar50") (== "==") (cast_expression "(Elf32_Ehdr *)0x1" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n        auStack_188._4_2_ = EStack_108.e_ehsize;\n        auStack_188._6_2_ = EStack_108.e_phentsize;\n        EStack_108.e_ehsize = 0xffff;\n        EStack_108.e_phentsize = 0xffff;\n        if (iVar44 == 0) goto LAB_000a5230;\n        iVar20 = 0;\nLAB_000a51ec:\n        iVar35 = *(int *)pEVar49;\n        iVar18 = *(int *)(iVar35 + 0x48);\n        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];\n        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);\n        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;\n      }" ({ "{") (expression_statement "auStack_188._4_2_ = EStack_108.e_ehsize;" (assignment_expression "auStack_188._4_2_ = EStack_108.e_ehsize" (field_expression "auStack_188._4_2_" (identifier "auStack_188") (. ".") (field_identifier "_4_2_")) (= "=") (field_expression "EStack_108.e_ehsize" (identifier "EStack_108") (. ".") (field_identifier "e_ehsize"))) (; ";")) (expression_statement "auStack_188._6_2_ = EStack_108.e_phentsize;" (assignment_expression "auStack_188._6_2_ = EStack_108.e_phentsize" (field_expression "auStack_188._6_2_" (identifier "auStack_188") (. ".") (field_identifier "_6_2_")) (= "=") (field_expression "EStack_108.e_phentsize" (identifier "EStack_108") (. ".") (field_identifier "e_phentsize"))) (; ";")) (expression_statement "EStack_108.e_ehsize = 0xffff;" (assignment_expression "EStack_108.e_ehsize = 0xffff" (field_expression "EStack_108.e_ehsize" (identifier "EStack_108") (. ".") (field_identifier "e_ehsize")) (= "=") (number_literal "0xffff")) (; ";")) (expression_statement "EStack_108.e_phentsize = 0xffff;" (assignment_expression "EStack_108.e_phentsize = 0xffff" (field_expression "EStack_108.e_phentsize" (identifier "EStack_108") (. ".") (field_identifier "e_phentsize")) (= "=") (number_literal "0xffff")) (; ";")) (if_statement "if (iVar44 == 0) goto LAB_000a5230;" (if "if") (parenthesized_expression "(iVar44 == 0)" (( "(") (binary_expression "iVar44 == 0" (identifier "iVar44") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a5230;" (goto "goto") (statement_identifier "LAB_000a5230") (; ";"))) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000a51ec:\n        iVar35 = *(int *)pEVar49;" (statement_identifier "LAB_000a51ec") (: ":") (expression_statement "iVar35 = *(int *)pEVar49;" (assignment_expression "iVar35 = *(int *)pEVar49" (identifier "iVar35") (= "=") (pointer_expression "*(int *)pEVar49" (* "*") (cast_expression "(int *)pEVar49" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar49")))) (; ";"))) (expression_statement "iVar18 = *(int *)(iVar35 + 0x48);" (assignment_expression "iVar18 = *(int *)(iVar35 + 0x48)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(iVar35 + 0x48)" (* "*") (cast_expression "(int *)(iVar35 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar35 + 0x48)" (( "(") (binary_expression "iVar35 + 0x48" (identifier "iVar35") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "*(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];" (assignment_expression "*(word *)(iVar18 + 0x1c) = awStack_15c[iVar20]" (pointer_expression "*(word *)(iVar18 + 0x1c)" (* "*") (cast_expression "(word *)(iVar18 + 0x1c)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x1c)" (( "(") (binary_expression "iVar18 + 0x1c" (identifier "iVar18") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (subscript_expression "awStack_15c[iVar20]" (identifier "awStack_15c") ([ "[") (identifier "iVar20") (] "]"))) (; ";")) (expression_statement "(*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);" (call_expression "(*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_)" (parenthesized_expression "(*(code *)(iVar10 + -0x2370))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x2370)" (* "*") (cast_expression "(code *)(iVar10 + -0x2370)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x2370)" (( "(") (binary_expression "iVar10 + -0x2370" (identifier "iVar10") (+ "+") (number_literal "-0x2370")) () ")")))) () ")")) (argument_list "(iVar18,auStack_188._4_4_)" (( "(") (identifier "iVar18") (, ",") (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;" (assignment_expression "*(undefined4 *)(iVar35 + 4) = auStack_188._4_4_" (pointer_expression "*(undefined4 *)(iVar35 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar35 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar35 + 4)" (( "(") (binary_expression "iVar35 + 4" (identifier "iVar35") (+ "+") (number_literal "4")) () ")")))) (= "=") (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_"))) (; ";")) (} "}")) (else_clause "else {\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" (else "else") (compound_statement "{\n        pwVar28 = &EStack_108.e_ehsize;\n        iVar20 = 0;\n        iVar18 = 1;\n        auStack_188._4_4_ = EStack_108._40_4_;\n        do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);\n        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;\n        pbVar34[0] = 0xff;\n        pbVar34[1] = 0xff;\n        pbVar34[2] = 0xff;\n        pbVar34[3] = 0xff;\n        if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }\n      }" ({ "{") (expression_statement "pwVar28 = &EStack_108.e_ehsize;" (assignment_expression "pwVar28 = &EStack_108.e_ehsize" (identifier "pwVar28") (= "=") (pointer_expression "&EStack_108.e_ehsize" (& "&") (field_expression "EStack_108.e_ehsize" (identifier "EStack_108") (. ".") (field_identifier "e_ehsize")))) (; ";")) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar18 = 1;" (assignment_expression "iVar18 = 1" (identifier "iVar18") (= "=") (number_literal "1")) (; ";")) (expression_statement "auStack_188._4_4_ = EStack_108._40_4_;" (assignment_expression "auStack_188._4_4_ = EStack_108._40_4_" (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")) (= "=") (field_expression "EStack_108._40_4_" (identifier "EStack_108") (. ".") (field_identifier "_40_4_"))) (; ";")) (do_statement "do {\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        } while (pEVar50 != (Elf32_Ehdr *)iVar18);" (do "do") (compound_statement "{\n          uVar25 = *(uint *)(pwVar28 + 2);\n          pwVar28 = pwVar28 + 2;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }\n          iVar18 = iVar18 + 1;\n          if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }\n        }" ({ "{") (expression_statement "uVar25 = *(uint *)(pwVar28 + 2);" (assignment_expression "uVar25 = *(uint *)(pwVar28 + 2)" (identifier "uVar25") (= "=") (pointer_expression "*(uint *)(pwVar28 + 2)" (* "*") (cast_expression "(uint *)(pwVar28 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar28 + 2)" (( "(") (binary_expression "pwVar28 + 2" (identifier "pwVar28") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "pwVar28 = pwVar28 + 2;" (assignment_expression "pwVar28 = pwVar28 + 2" (identifier "pwVar28") (= "=") (binary_expression "pwVar28 + 2" (identifier "pwVar28") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (uVar25 < (uint)auStack_188._4_4_) {\n            iVar20 = iVar18;\n          }" (if "if") (parenthesized_expression "(uVar25 < (uint)auStack_188._4_4_)" (( "(") (binary_expression "uVar25 < (uint)auStack_188._4_4_" (identifier "uVar25") (< "<") (cast_expression "(uint)auStack_188._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")))) () ")")) (compound_statement "{\n            iVar20 = iVar18;\n          }" ({ "{") (expression_statement "iVar20 = iVar18;" (assignment_expression "iVar20 = iVar18" (identifier "iVar20") (= "=") (identifier "iVar18")) (; ";")) (} "}"))) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" (identifier "iVar18") (= "=") (binary_expression "iVar18 + 1" (identifier "iVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar25 < (uint)auStack_188._4_4_) {\n            auStack_188._4_4_ = uVar25;\n          }" (if "if") (parenthesized_expression "(uVar25 < (uint)auStack_188._4_4_)" (( "(") (binary_expression "uVar25 < (uint)auStack_188._4_4_" (identifier "uVar25") (< "<") (cast_expression "(uint)auStack_188._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")))) () ")")) (compound_statement "{\n            auStack_188._4_4_ = uVar25;\n          }" ({ "{") (expression_statement "auStack_188._4_4_ = uVar25;" (assignment_expression "auStack_188._4_4_ = uVar25" (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")) (= "=") (identifier "uVar25")) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)iVar18)" (( "(") (binary_expression "pEVar50 != (Elf32_Ehdr *)iVar18" (identifier "pEVar50") (!= "!=") (cast_expression "(Elf32_Ehdr *)iVar18" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar18"))) () ")")) (; ";")) (expression_statement "pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;" (assignment_expression "pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f" (identifier "pbVar34") (= "=") (binary_expression "EStack_108.e_ident_pad + iVar20 * 4 + 0x1f" (binary_expression "EStack_108.e_ident_pad + iVar20 * 4" (field_expression "EStack_108.e_ident_pad" (identifier "EStack_108") (. ".") (field_identifier "e_ident_pad")) (+ "+") (binary_expression "iVar20 * 4" (identifier "iVar20") (* "*") (number_literal "4"))) (+ "+") (number_literal "0x1f"))) (; ";")) (expression_statement "pbVar34[0] = 0xff;" (assignment_expression "pbVar34[0] = 0xff" (subscript_expression "pbVar34[0]" (identifier "pbVar34") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0xff")) (; ";")) (expression_statement "pbVar34[1] = 0xff;" (assignment_expression "pbVar34[1] = 0xff" (subscript_expression "pbVar34[1]" (identifier "pbVar34") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0xff")) (; ";")) (expression_statement "pbVar34[2] = 0xff;" (assignment_expression "pbVar34[2] = 0xff" (subscript_expression "pbVar34[2]" (identifier "pbVar34") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0xff")) (; ";")) (expression_statement "pbVar34[3] = 0xff;" (assignment_expression "pbVar34[3] = 0xff" (subscript_expression "pbVar34[3]" (identifier "pbVar34") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0xff")) (; ";")) (if_statement "if (iVar20 != iVar44) {\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }" (if "if") (parenthesized_expression "(iVar20 != iVar44)" (( "(") (binary_expression "iVar20 != iVar44" (identifier "iVar20") (!= "!=") (identifier "iVar44")) () ")")) (compound_statement "{\n          if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }\n          goto LAB_000a51ec;\n        }" ({ "{") (if_statement "if (iVar44 < iVar20) {\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }" (if "if") (parenthesized_expression "(iVar44 < iVar20)" (( "(") (binary_expression "iVar44 < iVar20" (identifier "iVar44") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n            iVar35 = *(int *)&pEVar7->e_phnum;\n            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);\n            *(undefined2 *)(iVar18 + 0x1c) = 0;\n            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);\n          }" ({ "{") (expression_statement "iVar35 = *(int *)&pEVar7->e_phnum;" (assignment_expression "iVar35 = *(int *)&pEVar7->e_phnum" (identifier "iVar35") (= "=") (pointer_expression "*(int *)&pEVar7->e_phnum" (* "*") (cast_expression "(int *)&pEVar7->e_phnum" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar7->e_phnum" (& "&") (field_expression "pEVar7->e_phnum" (identifier "pEVar7") (-> "->") (field_identifier "e_phnum")))))) (; ";")) (expression_statement "iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);" (assignment_expression "iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" (* "*") (cast_expression "(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48)" (( "(") (binary_expression "*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48" (pointer_expression "*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4)" (* "*") (cast_expression "(int *)(auStack_144 + (iVar20 + -1) * 4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144 + (iVar20 + -1) * 4 + 4)" (( "(") (binary_expression "auStack_144 + (iVar20 + -1) * 4 + 4" (binary_expression "auStack_144 + (iVar20 + -1) * 4" (identifier "auStack_144") (+ "+") (binary_expression "(iVar20 + -1) * 4" (parenthesized_expression "(iVar20 + -1)" (( "(") (binary_expression "iVar20 + -1" (identifier "iVar20") (+ "+") (number_literal "-1")) () ")")) (* "*") (number_literal "4"))) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "*(undefined2 *)(iVar18 + 0x1c) = 0;" (assignment_expression "*(undefined2 *)(iVar18 + 0x1c) = 0" (pointer_expression "*(undefined2 *)(iVar18 + 0x1c)" (* "*") (cast_expression "(undefined2 *)(iVar18 + 0x1c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x1c)" (( "(") (binary_expression "iVar18 + 0x1c" (identifier "iVar18") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);" (call_expression "(*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35)" (parenthesized_expression "(*(code *)(iVar10 + -0x2370))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x2370)" (* "*") (cast_expression "(code *)(iVar10 + -0x2370)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x2370)" (( "(") (binary_expression "iVar10 + -0x2370" (identifier "iVar10") (+ "+") (number_literal "-0x2370")) () ")")))) () ")")) (argument_list "(iVar18,iVar20 + 1 + iVar35)" (( "(") (identifier "iVar18") (, ",") (binary_expression "iVar20 + 1 + iVar35" (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1")) (+ "+") (identifier "iVar35")) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000a51ec;" (goto "goto") (statement_identifier "LAB_000a51ec") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar44 = iVar44 + 1;" (assignment_expression "iVar44 = iVar44 + 1" (identifier "iVar44") (= "=") (binary_expression "iVar44 + 1" (identifier "iVar44") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar49->e_ident_class" (& "&") (field_expression "pEVar49->e_ident_class" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (expression_statement "uVar25 = auStack_188._4_4_;" (assignment_expression "uVar25 = auStack_188._4_4_" (identifier "uVar25") (= "=") (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_"))) (; ";")) (if_statement "if (pEVar50 == (Elf32_Ehdr *)iVar44) {\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }" (if "if") (parenthesized_expression "(pEVar50 == (Elf32_Ehdr *)iVar44)" (( "(") (binary_expression "pEVar50 == (Elf32_Ehdr *)iVar44" (identifier "pEVar50") (== "==") (cast_expression "(Elf32_Ehdr *)iVar44" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar44"))) () ")")) (compound_statement "{\nLAB_000a5230:\n        auStack_188._4_4_ = uVar25;\n        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);\n        uVar13 = *(undefined4 *)(iVar10 + 4);\n        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;\n        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);\n        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);\n        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);\n        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }\n        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;\n        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;\n        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;\n        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);\n        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;\n        pEStack_1d4 = (Elf32_Ehdr *)0x0;\n        param_3 = (Elf32_Ehdr *)0x0;\n        pEStack_1c8 = (Elf32_Ehdr *)0x0;\n        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);\n        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);\n        pEVar47 = (Elf32_Ehdr *)0x0;\n        iVar10 = auStack_cc._0_4_;\n        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;\n        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEStack_1b0 = pEVar42;\n        goto LAB_000a53dc;\n      }" ({ "{") (labeled_statement "LAB_000a5230:\n        auStack_188._4_4_ = uVar25;" (statement_identifier "LAB_000a5230") (: ":") (expression_statement "auStack_188._4_4_ = uVar25;" (assignment_expression "auStack_188._4_4_ = uVar25" (field_expression "auStack_188._4_4_" (identifier "auStack_188") (. ".") (field_identifier "_4_4_")) (= "=") (identifier "uVar25")) (; ";"))) (expression_statement "iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);" (assignment_expression "iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(auStack_144 + (int)pEVar42 * 4)" (* "*") (cast_expression "(int *)(auStack_144 + (int)pEVar42 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144 + (int)pEVar42 * 4)" (( "(") (binary_expression "auStack_144 + (int)pEVar42 * 4" (identifier "auStack_144") (+ "+") (binary_expression "(int)pEVar42 * 4" (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "uVar13 = *(undefined4 *)(iVar10 + 4);" (assignment_expression "uVar13 = *(undefined4 *)(iVar10 + 4)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(iVar10 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 4)" (( "(") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;" (assignment_expression "pEStack_1c8->e_ident_magic_str[2] = (char)uVar13" (subscript_expression "pEStack_1c8->e_ident_magic_str[2]" (field_expression "pEStack_1c8->e_ident_magic_str" (identifier "pEStack_1c8") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)uVar13" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);" (assignment_expression "pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18)" (field_expression "pEStack_1c8->e_ident_magic_num" (identifier "pEStack_1c8") (-> "->") (field_identifier "e_ident_magic_num")) (= "=") (call_expression "(byte)((uint)uVar13 >> 0x18)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)uVar13 >> 0x18)" (( "(") (binary_expression "(uint)uVar13 >> 0x18" (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);" (assignment_expression "pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10)" (subscript_expression "pEStack_1c8->e_ident_magic_str[0]" (field_expression "pEStack_1c8->e_ident_magic_str" (identifier "pEStack_1c8") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char)((uint)uVar13 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar13 >> 0x10)" (( "(") (binary_expression "(uint)uVar13 >> 0x10" (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);" (assignment_expression "pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8)" (subscript_expression "pEStack_1c8->e_ident_magic_str[1]" (field_expression "pEStack_1c8->e_ident_magic_str" (identifier "pEStack_1c8") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)((uint)uVar13 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)uVar13 >> 8)" (( "(") (binary_expression "(uint)uVar13 >> 8" (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (if_statement "if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }" (if "if") (parenthesized_expression "(((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc))" (( "(") (binary_expression "((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)" (parenthesized_expression "((bVar22 & 8) == 0)" (( "(") (binary_expression "(bVar22 & 8) == 0" (parenthesized_expression "(bVar22 & 8)" (( "(") (binary_expression "bVar22 & 8" (identifier "bVar22") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)pcStack_1bc)" (( "(") (binary_expression "pEVar50 != (Elf32_Ehdr *)pcStack_1bc" (identifier "pEVar50") (!= "!=") (cast_expression "(Elf32_Ehdr *)pcStack_1bc" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcStack_1bc"))) () ")"))) () ")")) (compound_statement "{\n          puVar17 = auStack_14c + 4;\n          if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }\n          iVar10 = *(int *)(iVar10 + 0x38);\n          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);\n          uVar25 = iVar10 + 8;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n          uVar25 = iVar10 + 0xb;\n          uVar23 = uVar25 & 3;\n          puVar12 = (uint *)(uVar25 - uVar23);\n          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n        }" ({ "{") (expression_statement "puVar17 = auStack_14c + 4;" (assignment_expression "puVar17 = auStack_14c + 4" (identifier "puVar17") (= "=") (binary_expression "auStack_14c + 4" (identifier "auStack_14c") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if ((int)pEVar50 <= (int)pcStack_1bc) {\n            puVar17 = auStack_154;\n          }" (if "if") (parenthesized_expression "((int)pEVar50 <= (int)pcStack_1bc)" (( "(") (binary_expression "(int)pEVar50 <= (int)pcStack_1bc" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (<= "<=") (cast_expression "(int)pcStack_1bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_1bc"))) () ")")) (compound_statement "{\n            puVar17 = auStack_154;\n          }" ({ "{") (expression_statement "puVar17 = auStack_154;" (assignment_expression "puVar17 = auStack_154" (identifier "puVar17") (= "=") (identifier "auStack_154")) (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(iVar10 + 0x38);" (assignment_expression "iVar10 = *(int *)(iVar10 + 0x38)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar10 + 0x38)" (* "*") (cast_expression "(int *)(iVar10 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x38)" (( "(") (binary_expression "iVar10 + 0x38" (identifier "iVar10") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);" (assignment_expression "uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" (identifier "uVar32") (= "=") (pointer_expression "*(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8)" (( "(") (binary_expression "*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8" (pointer_expression "*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" (* "*") (cast_expression "(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38)" (( "(") (binary_expression "*(int *)(puVar17 + iStack_1d0 + 4) + 0x38" (pointer_expression "*(int *)(puVar17 + iStack_1d0 + 4)" (* "*") (cast_expression "(int *)(puVar17 + iStack_1d0 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iStack_1d0 + 4)" (( "(") (binary_expression "puVar17 + iStack_1d0 + 4" (binary_expression "puVar17 + iStack_1d0" (identifier "puVar17") (+ "+") (identifier "iStack_1d0")) (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar25 = iVar10 + 8;" (assignment_expression "uVar25 = iVar10 + 8" (identifier "uVar25") (= "=") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" (identifier "uVar23") (= "=") (binary_expression "uVar25 & 3" (identifier "uVar25") (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(uVar25 - uVar23)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar25 - uVar23)" (( "(") (binary_expression "uVar25 - uVar23" (identifier "uVar25") (- "-") (identifier "uVar23")) () ")")))) (; ";")) (expression_statement "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;" (assignment_expression "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (& "&") (binary_expression "-1 << (4 - uVar23) * 8" (number_literal "-1") (<< "<<") (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" (( "(") (binary_expression "4 - uVar23" (number_literal "4") (- "-") (identifier "uVar23")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar32 >> uVar23 * 8" (identifier "uVar32") (>> ">>") (binary_expression "uVar23 * 8" (identifier "uVar23") (* "*") (number_literal "8"))))) (; ";")) (expression_statement "uVar25 = iVar10 + 0xb;" (assignment_expression "uVar25 = iVar10 + 0xb" (identifier "uVar25") (= "=") (binary_expression "iVar10 + 0xb" (identifier "iVar10") (+ "+") (number_literal "0xb"))) (; ";")) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" (identifier "uVar23") (= "=") (binary_expression "uVar25 & 3" (identifier "uVar25") (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(uVar25 - uVar23)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar25 - uVar23)" (( "(") (binary_expression "uVar25 - uVar23" (identifier "uVar25") (- "-") (identifier "uVar23")) () ")")))) (; ";")) (expression_statement "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;" (assignment_expression "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (& "&") (binary_expression "0xffffffffU >> (uVar23 + 1) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(uVar23 + 1) * 8" (parenthesized_expression "(uVar23 + 1)" (( "(") (binary_expression "uVar23 + 1" (identifier "uVar23") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar32 << (3 - uVar23) * 8" (identifier "uVar32") (<< "<<") (binary_expression "(3 - uVar23) * 8" (parenthesized_expression "(3 - uVar23)" (( "(") (binary_expression "3 - uVar23" (number_literal "3") (- "-") (identifier "uVar23")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (} "}"))) (expression_statement "pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")))) (; ";")) (if_statement "if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;" (if "if") (parenthesized_expression "((char)pEVar7->e_type == '\0')" (( "(") (binary_expression "(char)pEVar7->e_type == '\0'" (cast_expression "(char)pEVar7->e_type" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "pEVar7->e_type" (identifier "pEVar7") (-> "->") (field_identifier "e_type"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000a5474;" (goto "goto") (statement_identifier "LAB_000a5474") (; ";"))) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags" (identifier "pEStack_1c4") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar7->e_flags" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar7->e_flags" (identifier "pEVar7") (-> "->") (field_identifier "e_flags")))) (; ";")) (expression_statement "pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;" (assignment_expression "pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (identifier "pEStack_1e8") (= "=") (pointer_expression "*(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (* "*") (cast_expression "(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (& "&") (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" (( "(") (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 0x34)" (( "(") (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x34")) () ")"))) () ")")) (-> "->") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)\n                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3])" (( "(") (binary_expression "(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +\n                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]" (binary_expression "(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (* "*") (cast_expression "(dword *)(auStack_144._0_4_ + 0x14)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 0x14)" (( "(") (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (subscript_expression "(uint)((byte *)(auStack_144._0_4_ + 9))[3]" (call_expression "(uint)((byte *)(auStack_144._0_4_ + 9))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((byte *)(auStack_144._0_4_ + 9))" (( "(") (cast_expression "(byte *)(auStack_144._0_4_ + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 9)" (( "(") (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "9")) () ")"))) () ")"))) ([ "[") (number_literal "3") (] "]"))) () ")")))) (; ";")) (if_statement "if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;" (if "if") (parenthesized_expression "((int)auStack_cc._0_4_ < 1)" (( "(") (binary_expression "(int)auStack_cc._0_4_ < 1" (cast_expression "(int)auStack_cc._0_4_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (< "<") (number_literal "1")) () ")")) (goto_statement "goto LAB_000a5474;" (goto "goto") (statement_identifier "LAB_000a5474") (; ";"))) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)0x0" (identifier "pEStack_1d4") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_3 = (Elf32_Ehdr *)0x0;" (assignment_expression "param_3 = (Elf32_Ehdr *)0x0" (identifier "param_3") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)0x0" (identifier "pEStack_1c8") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);" (assignment_expression "pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" (identifier "pbStack_1c0") (= "=") (cast_expression "(byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb75e4) + 0x22e0)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb75e4) + 0x22e0" (pointer_expression "*(int *)(puVar53 + 0xb75e4)" (* "*") (cast_expression "(int *)(puVar53 + 0xb75e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb75e4)" (( "(") (binary_expression "puVar53 + 0xb75e4" (identifier "puVar53") (+ "+") (number_literal "0xb75e4")) () ")")))) (+ "+") (number_literal "0x22e0")) () ")")))) (; ";")) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (identifier "pEStack_1b8") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" (* "*") (cast_expression "(int *)(puVar53 + 0xb753c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb753c)" (( "(") (binary_expression "puVar53 + 0xb753c" (identifier "puVar53") (+ "+") (number_literal "0xb753c")) () ")")))) (+ "+") (number_literal "-0x14d8")) () ")")))) (; ";")) (expression_statement "pEVar47 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)0x0" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" (identifier "iVar10") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "param_1 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "param_1 = (Elf32_Ehdr *)auStack_144._0_4_" (identifier "param_1") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")))) (; ";")) (expression_statement "param_6 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "param_6 = (Elf32_Ehdr *)auStack_144._0_4_" (identifier "param_6") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")))) (; ";")) (expression_statement "pEStack_1b0 = pEVar42;" (assignment_expression "pEStack_1b0 = pEVar42" (identifier "pEStack_1b0") (= "=") (identifier "pEVar42")) (; ";")) (goto_statement "goto LAB_000a53dc;" (goto "goto") (statement_identifier "LAB_000a53dc") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1)" (identifier "pEStack_1ec") (= "=") (cast_expression "(Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(EStack_108.e_ident_magic_str + iVar10 + -1)" (( "(") (binary_expression "EStack_108.e_ident_magic_str + iVar10 + -1" (binary_expression "EStack_108.e_ident_magic_str + iVar10" (field_expression "EStack_108.e_ident_magic_str" (identifier "EStack_108") (. ".") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar10")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x14d8)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x14d8" (pointer_expression "*(int *)(puVar53 + 0xb753c)" (* "*") (cast_expression "(int *)(puVar53 + 0xb753c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb753c)" (( "(") (binary_expression "puVar53 + 0xb753c" (identifier "puVar53") (+ "+") (number_literal "0xb753c")) () ")")))) (+ "+") (number_literal "-0x14d8")) () ")")))) (; ";")) (expression_statement "pEStack_1e8 = pEStack_1c4;" (assignment_expression "pEStack_1e8 = pEStack_1c4" (identifier "pEStack_1e8") (= "=") (identifier "pEStack_1c4")) (; ";")) (expression_statement "pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" (identifier "pEVar50") (= "=") (pointer_expression "*(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" (* "*") (cast_expression "(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(EStack_108.e_ident_magic_str + iVar10 + -1)" (( "(") (binary_expression "EStack_108.e_ident_magic_str + iVar10 + -1" (binary_expression "EStack_108.e_ident_magic_str + iVar10" (field_expression "EStack_108.e_ident_magic_str" (identifier "EStack_108") (. ".") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar10")) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" (identifier "pEVar51") (= "=") (cast_expression "(Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1a8->e_ident_magic_str + iVar10 + -1)" (( "(") (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10 + -1" (binary_expression "pEStack_1a8->e_ident_magic_str + iVar10" (field_expression "pEStack_1a8->e_ident_magic_str" (identifier "pEStack_1a8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar10")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (do_statement "do {\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  } while (iVar18 < (int)pEVar54);" (do "do") (compound_statement "{\n    pEStack_1d4 = pEVar51;\n    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);\n    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;\n    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);\n    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);\n    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }\n    do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);\n    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;\n    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;\n    pEStack_1b0 = pEVar47;\n    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }\n    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;\n    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;\n    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;\n    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;\n    pEVar50 = pEVar49;\n  }" ({ "{") (expression_statement "pEStack_1d4 = pEVar51;" (assignment_expression "pEStack_1d4 = pEVar51" (identifier "pEStack_1d4") (= "=") (identifier "pEVar51")) (; ";")) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1)" (identifier "pEStack_1e8") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEStack_1e8[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEStack_1e8[-1].e_shstrndx + 1" (cast_expression "(int)&pEStack_1e8[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEStack_1e8[-1].e_shstrndx" (& "&") (field_expression "pEStack_1e8[-1].e_shstrndx" (subscript_expression "pEStack_1e8[-1]" (identifier "pEStack_1e8") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;" (assignment_expression "pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" (identifier "pEVar49") (= "=") (pointer_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" (* "*") (cast_expression "(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_1ec[-1].e_shnum" (& "&") (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" (identifier "pEStack_1ec") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum")))))) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);" (assignment_expression "pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2)" (( "(") (binary_expression "(*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2" (parenthesized_expression "(*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4)" (( "(") (binary_expression "*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4" (pointer_expression "*(int *)&pEStack_1d4[-1].e_shnum" (* "*") (cast_expression "(int *)&pEStack_1d4[-1].e_shnum" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEStack_1d4[-1].e_shnum" (& "&") (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" (identifier "pEStack_1d4") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum"))))) (- "-") (cast_expression "(int)pcStack_1e4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_1e4"))) () ")")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1)" (identifier "pEVar51") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)&pEStack_1d4[-1].e_shnum + -1)" (( "(") (binary_expression "*(int *)&pEStack_1d4[-1].e_shnum + -1" (pointer_expression "*(int *)&pEStack_1d4[-1].e_shnum" (* "*") (cast_expression "(int *)&pEStack_1d4[-1].e_shnum" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEStack_1d4[-1].e_shnum" (& "&") (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" (identifier "pEStack_1d4") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum"))))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }" (if "if") (parenthesized_expression "(*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0)" (( "(") (binary_expression "*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0" (pointer_expression "*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" (* "*") (cast_expression "(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" (( "(") (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "-1")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)pEStack_1f0)(auStack_cc);\n    }" ({ "{") (expression_statement "(*(code *)pEStack_1f0)(auStack_cc);" (call_expression "(*(code *)pEStack_1f0)(auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1f0)" (( "(") (pointer_expression "*(code *)pEStack_1f0" (* "*") (cast_expression "(code *)pEStack_1f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1f0"))) () ")")) (argument_list "(auStack_cc)" (( "(") (identifier "auStack_cc") () ")"))) (; ";")) (} "}"))) (do_statement "do {\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    } while (-1 < (int)pEVar51);" (do "do") (compound_statement "{\n      pEVar54 = pEVar51;\n      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }\n      if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }\n      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);\n      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);\n      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;\n      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));\n      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;\n    }" ({ "{") (expression_statement "pEVar54 = pEVar51;" (assignment_expression "pEVar54 = pEVar51" (identifier "pEVar54") (= "=") (identifier "pEVar51")) (; ";")) (if_statement "if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }" (if "if") (parenthesized_expression "(*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0)" (( "(") (binary_expression "*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0" (pointer_expression "*(short *)(aiStack_c0[0] + (int)pEVar54 * 2)" (* "*") (cast_expression "(short *)(aiStack_c0[0] + (int)pEVar54 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + (int)pEVar54 * 2)" (( "(") (binary_expression "aiStack_c0[0] + (int)pEVar54 * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "(int)pEVar54 * 2" (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (* "*") (number_literal "2"))) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);\n      }" ({ "{") (expression_statement "(*(code *)pEStack_1f0)(auStack_cc,pEVar54);" (call_expression "(*(code *)pEStack_1f0)(auStack_cc,pEVar54)" (parenthesized_expression "(*(code *)pEStack_1f0)" (( "(") (pointer_expression "*(code *)pEStack_1f0" (* "*") (cast_expression "(code *)pEStack_1f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1f0"))) () ")")) (argument_list "(auStack_cc,pEVar54)" (( "(") (identifier "auStack_cc") (, ",") (identifier "pEVar54") () ")"))) (; ";")) (} "}"))) (if_statement "if (pEVar50 != (Elf32_Ehdr *)0x0) {\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }" (if "if") (parenthesized_expression "(pEVar50 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEVar50 != (Elf32_Ehdr *)0x0" (identifier "pEVar50") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;\n        break;\n      }" ({ "{") (expression_statement "pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;" (assignment_expression "pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" (identifier "pEVar54") (= "=") (pointer_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" (* "*") (cast_expression "(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_1d4[-1].e_shnum" (& "&") (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" (identifier "pEStack_1d4") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum")))))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);" (assignment_expression "uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" (identifier "uVar3") (= "=") (pointer_expression "*(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" (* "*") (cast_expression "(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + (int)pEVar54 * 2)" (( "(") (binary_expression "aiStack_c0[0] + (int)pEVar54 * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "(int)pEVar54 * 2" (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (expression_statement "pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);" (assignment_expression "pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" (identifier "pEVar50") (= "=") (cast_expression "(Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2)" (( "(") (binary_expression "*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2" (pointer_expression "*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" (* "*") (cast_expression "(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1)" (( "(") (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0] + -1" (binary_expression "pEVar48->e_ident_magic_str + aiStack_c0[0]" (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "-1")) () ")")))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;" (assignment_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54" (pointer_expression "*(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" (* "*") (cast_expression "(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_1d4[-1].e_shnum" (& "&") (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" (identifier "pEStack_1d4") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum"))))) (= "=") (identifier "pEVar54")) (; ";")) (expression_statement "pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);" (assignment_expression "pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" (identifier "pEVar51") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar54[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar54[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar54[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar54[-1].e_shstrndx" (& "&") (field_expression "pEVar54[-1].e_shstrndx" (subscript_expression "pEVar54[-1]" (identifier "pEVar54") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));" (assignment_expression "pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2))" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEVar49 - (uVar3 + 2))" (( "(") (binary_expression "(int)pEVar49 - (uVar3 + 2)" (cast_expression "(int)pEVar49" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar49")) (- "-") (parenthesized_expression "(uVar3 + 2)" (( "(") (binary_expression "uVar3 + 2" (identifier "uVar3") (+ "+") (number_literal "2")) () ")"))) () ")")))) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar48[-1].e_shstrndx" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar48[-1].e_shstrndx" (& "&") (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" (identifier "pEVar48") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-1 < (int)pEVar51)" (( "(") (binary_expression "-1 < (int)pEVar51" (number_literal "-1") (< "<") (cast_expression "(int)pEVar51" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar51"))) () ")")) (; ";")) (expression_statement "*(Elf32_Ehdr **)pEStack_1ec = pEVar50;" (assignment_expression "*(Elf32_Ehdr **)pEStack_1ec = pEVar50" (pointer_expression "*(Elf32_Ehdr **)pEStack_1ec" (* "*") (cast_expression "(Elf32_Ehdr **)pEStack_1ec" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEStack_1ec"))) (= "=") (identifier "pEVar50")) (; ";")) (expression_statement "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;" (assignment_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49" (pointer_expression "*(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" (* "*") (cast_expression "(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEStack_1ec[-1].e_shnum" (& "&") (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" (identifier "pEStack_1ec") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum"))))) (= "=") (identifier "pEVar49")) (; ";")) (expression_statement "pEStack_1b0 = pEVar47;" (assignment_expression "pEStack_1b0 = pEVar47" (identifier "pEStack_1b0") (= "=") (identifier "pEVar47")) (; ";")) (if_statement "if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }" (if "if") (parenthesized_expression "(pEStack_1e8 == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEStack_1e8 == (Elf32_Ehdr *)0x0" (identifier "pEStack_1e8") (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      bVar4 = 0 < (int)pEVar54;\n      pEVar48 = pEVar47;\n      pEVar50 = pEVar54;\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      if (bVar4) goto LAB_000a4ef4;\n      break;\n    }" ({ "{") (expression_statement "bVar4 = 0 < (int)pEVar54;" (assignment_expression "bVar4 = 0 < (int)pEVar54" (identifier "bVar4") (= "=") (binary_expression "0 < (int)pEVar54" (number_literal "0") (< "<") (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")))) (; ";")) (expression_statement "pEVar48 = pEVar47;" (assignment_expression "pEVar48 = pEVar47" (identifier "pEVar48") (= "=") (identifier "pEVar47")) (; ";")) (expression_statement "pEVar50 = pEVar54;" (assignment_expression "pEVar50 = pEVar54" (identifier "pEVar50") (= "=") (identifier "pEVar54")) (; ";")) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (; ";")) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (; ";")) (if_statement "if (bVar4) goto LAB_000a4ef4;" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (goto_statement "goto LAB_000a4ef4;" (goto "goto") (statement_identifier "LAB_000a4ef4") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum" (identifier "pEStack_1ec") (= "=") (cast_expression "(Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEStack_1ec[-1].e_shnum" (& "&") (field_expression "pEStack_1ec[-1].e_shnum" (subscript_expression "pEStack_1ec[-1]" (identifier "pEStack_1ec") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum"))))) (; ";")) (expression_statement "pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;" (assignment_expression "pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum" (identifier "pEVar51") (= "=") (cast_expression "(Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEStack_1d4[-1].e_shnum" (& "&") (field_expression "pEStack_1d4[-1].e_shnum" (subscript_expression "pEStack_1d4[-1]" (identifier "pEStack_1d4") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shnum"))))) (; ";")) (expression_statement "iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;" (assignment_expression "iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum" (field_expression "iVar18._0_2_" (identifier "iVar18") (. ".") (field_identifier "_0_2_")) (= "=") (field_expression "pEStack_1d4[-0xffffffff00000001].e_phnum" (subscript_expression "pEStack_1d4[-0xffffffff00000001]" (identifier "pEStack_1d4") ([ "[") (number_literal "-0xffffffff00000001") (] "]")) (. ".") (field_identifier "e_phnum"))) (; ";")) (expression_statement "iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;" (assignment_expression "iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize" (field_expression "iVar18._2_2_" (identifier "iVar18") (. ".") (field_identifier "_2_2_")) (= "=") (field_expression "pEStack_1d4[-0xffffffff00000001].e_shentsize" (subscript_expression "pEStack_1d4[-0xffffffff00000001]" (identifier "pEStack_1d4") ([ "[") (number_literal "-0xffffffff00000001") (] "]")) (. ".") (field_identifier "e_shentsize"))) (; ";")) (expression_statement "pEVar50 = pEVar49;" (assignment_expression "pEVar50 = pEVar49" (identifier "pEVar50") (= "=") (identifier "pEVar49")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar18 < (int)pEVar54)" (( "(") (binary_expression "iVar18 < (int)pEVar54" (identifier "iVar18") (< "<") (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54"))) () ")")) (; ";")) (expression_statement "uVar13 = 0x114c2;" (assignment_expression "uVar13 = 0x114c2" (identifier "uVar13") (= "=") (number_literal "0x114c2")) (; ";")) (labeled_statement "LAB_000a46ec:\n  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);" (statement_identifier "LAB_000a46ec") (: ":") (expression_statement "auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);" (assignment_expression "auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" (* "*") (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x75c0)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x75c0" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x75c0")) () ")")))) () ")")) (argument_list "(uVar13)" (( "(") (identifier "uVar13") () ")")))) (; ";"))) (expression_statement "pEVar47 = pEVar48;" (assignment_expression "pEVar47 = pEVar48" (identifier "pEVar47") (= "=") (identifier "pEVar48")) (; ";")) (labeled_statement "LAB_000a443c:\n  param_2 = pEVar50;" (statement_identifier "LAB_000a443c") (: ":") (expression_statement "param_2 = pEVar50;" (assignment_expression "param_2 = pEVar50" (identifier "param_2") (= "=") (identifier "pEVar50")) (; ";"))) (expression_statement "pEVar26 = pEVar51;" (assignment_expression "pEVar26 = pEVar51" (identifier "pEVar26") (= "=") (identifier "pEVar51")) (; ";")) (expression_statement "pEVar7 = pEVar54;" (assignment_expression "pEVar7 = pEVar54" (identifier "pEVar7") (= "=") (identifier "pEVar54")) (; ";")) (if_statement "if (iStack_c4 != 0) {\n    (**(code **)(puVar53 + 0xb7500))();\n  }" (if "if") (parenthesized_expression "(iStack_c4 != 0)" (( "(") (binary_expression "iStack_c4 != 0" (identifier "iStack_c4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(puVar53 + 0xb7500))();\n  }" ({ "{") (expression_statement "(**(code **)(puVar53 + 0xb7500))();" (call_expression "(**(code **)(puVar53 + 0xb7500))()" (parenthesized_expression "(**(code **)(puVar53 + 0xb7500))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb7500)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb7500)" (* "*") (cast_expression "(code **)(puVar53 + 0xb7500)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb7500)" (( "(") (binary_expression "puVar53 + 0xb7500" (identifier "puVar53") (+ "+") (number_literal "0xb7500")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000a4454:\n  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);" (statement_identifier "LAB_000a4454") (: ":") (expression_statement "param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);" (assignment_expression "param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0)" (identifier "param_6") (= "=") (cast_expression "(Elf32_Ehdr *)(auStack_14c + iStack_1d0)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_14c + iStack_1d0)" (( "(") (binary_expression "auStack_14c + iStack_1d0" (identifier "auStack_14c") (+ "+") (identifier "iStack_1d0")) () ")")))) (; ";"))) (expression_statement "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);" (assignment_expression "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" (identifier "param_3") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar53 + 0xb753c)" (* "*") (cast_expression "(int *)(puVar53 + 0xb753c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb753c)" (( "(") (binary_expression "puVar53 + 0xb753c" (identifier "puVar53") (+ "+") (number_literal "0xb753c")) () ")")))) (+ "+") (number_literal "-0x1cbc")) () ")")))) (; ";")) (expression_statement "param_1 = (Elf32_Ehdr *)ppEStack_1dc;" (assignment_expression "param_1 = (Elf32_Ehdr *)ppEStack_1dc" (identifier "param_1") (= "=") (cast_expression "(Elf32_Ehdr *)ppEStack_1dc" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppEStack_1dc"))) (; ";")) (do_statement "do {\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  } while (param_1 != param_6);" (do "do") (compound_statement "{\n    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }\n    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n  }" ({ "{") (if_statement "if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }" (if "if") (parenthesized_expression "(*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0" (pointer_expression "*(Elf32_Ehdr **)param_1" (* "*") (cast_expression "(Elf32_Ehdr **)param_1" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1"))) (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);\n    }" ({ "{") (expression_statement "(*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);" (call_expression "(*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version)" (parenthesized_expression "(*(code *)param_3)" (( "(") (pointer_expression "*(code *)param_3" (* "*") (cast_expression "(code *)param_3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) () ")")) (argument_list "((*(Elf32_Ehdr **)param_1)[1].e_version)" (( "(") (field_expression "(*(Elf32_Ehdr **)param_1)[1].e_version" (subscript_expression "(*(Elf32_Ehdr **)param_1)[1]" (parenthesized_expression "(*(Elf32_Ehdr **)param_1)" (( "(") (pointer_expression "*(Elf32_Ehdr **)param_1" (* "*") (cast_expression "(Elf32_Ehdr **)param_1" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1"))) () ")")) ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_version")) () ")"))) (; ";")) (} "}"))) (expression_statement "param_1 = (Elf32_Ehdr *)((int)param_1 + 4);" (assignment_expression "param_1 = (Elf32_Ehdr *)((int)param_1 + 4)" (identifier "param_1") (= "=") (cast_expression "(Elf32_Ehdr *)((int)param_1 + 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 4)" (( "(") (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_1 != param_6)" (( "(") (binary_expression "param_1 != param_6" (identifier "param_1") (!= "!=") (identifier "param_6")) () ")")) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")))) (; ";")) (if_statement "if (unaff_s7 != (Elf32_Ehdr *)0x0) {\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }" (if "if") (parenthesized_expression "(unaff_s7 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "unaff_s7 != (Elf32_Ehdr *)0x0" (identifier "unaff_s7") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    param_1 = (Elf32_Ehdr *)auStack_144;\n    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);\n    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);\n    do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);\n  }" ({ "{") (expression_statement "param_1 = (Elf32_Ehdr *)auStack_144;" (assignment_expression "param_1 = (Elf32_Ehdr *)auStack_144" (identifier "param_1") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_144" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_144"))) (; ";")) (expression_statement "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);" (assignment_expression "param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" (identifier "param_3") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb753c) + -0x1cbc)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb753c) + -0x1cbc" (pointer_expression "*(int *)(puVar53 + 0xb753c)" (* "*") (cast_expression "(int *)(puVar53 + 0xb753c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb753c)" (( "(") (binary_expression "puVar53 + 0xb753c" (identifier "puVar53") (+ "+") (number_literal "0xb753c")) () ")")))) (+ "+") (number_literal "-0x1cbc")) () ")")))) (; ";")) (expression_statement "param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);" (assignment_expression "param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4)" (identifier "param_6") (= "=") (cast_expression "(Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + unaff_s7 * 4)" (( "(") (binary_expression "(int)param_1 + unaff_s7 * 4" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (binary_expression "unaff_s7 * 4" (identifier "unaff_s7") (* "*") (number_literal "4"))) () ")")))) (; ";")) (do_statement "do {\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    } while (param_6 != param_1);" (do "do") (compound_statement "{\n      if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }\n      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);\n      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;\n    }" ({ "{") (if_statement "if (*(int *)param_1 != 0) {\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }" (if "if") (parenthesized_expression "(*(int *)param_1 != 0)" (( "(") (binary_expression "*(int *)param_1 != 0" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));\n      }" ({ "{") (expression_statement "(*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));" (call_expression "(*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48))" (parenthesized_expression "(*(code *)param_3)" (( "(") (pointer_expression "*(code *)param_3" (* "*") (cast_expression "(code *)param_3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_3"))) () ")")) (argument_list "(*(undefined4 *)(*(int *)param_1 + 0x48))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)param_1 + 0x48)" (* "*") (cast_expression "(undefined4 *)(*(int *)param_1 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_1 + 0x48)" (( "(") (binary_expression "*(int *)param_1 + 0x48" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x48")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "param_1 = (Elf32_Ehdr *)((int)param_1 + 4);" (assignment_expression "param_1 = (Elf32_Ehdr *)((int)param_1 + 4)" (identifier "param_1") (= "=") (cast_expression "(Elf32_Ehdr *)((int)param_1 + 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 4)" (( "(") (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_6 != param_1)" (( "(") (binary_expression "param_6 != param_1" (identifier "param_6") (!= "!=") (identifier "param_1")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000a44d0:\n  if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }" (statement_identifier "LAB_000a44d0") (: ":") (if_statement "if (iStack_84 == *piVar9) {\n    return pEVar48;\n  }" (if "if") (parenthesized_expression "(iStack_84 == *piVar9)" (( "(") (binary_expression "iStack_84 == *piVar9" (identifier "iStack_84") (== "==") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) () ")")) (compound_statement "{\n    return pEVar48;\n  }" ({ "{") (return_statement "return pEVar48;" (return "return") (identifier "pEVar48") (; ";")) (} "}")))) (expression_statement "iVar10 = iStack_84;" (assignment_expression "iVar10 = iStack_84" (identifier "iVar10") (= "=") (identifier "iStack_84")) (; ";")) (expression_statement "(**(code **)(puVar53 + 0xb78f0))();" (call_expression "(**(code **)(puVar53 + 0xb78f0))()" (parenthesized_expression "(**(code **)(puVar53 + 0xb78f0))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb78f0)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb78f0)" (* "*") (cast_expression "(code **)(puVar53 + 0xb78f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb78f0)" (( "(") (binary_expression "puVar53 + 0xb78f0" (identifier "puVar53") (+ "+") (number_literal "0xb78f0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pEVar48 = extraout_v1;" (assignment_expression "pEVar48 = extraout_v1" (identifier "pEVar48") (= "=") (identifier "extraout_v1")) (; ";")) (expression_statement "pEVar50 = param_2;" (assignment_expression "pEVar50 = param_2" (identifier "pEVar50") (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_2 = unaff_s7;" (assignment_expression "param_2 = unaff_s7" (identifier "param_2") (= "=") (identifier "unaff_s7")) (; ";")) (do_statement "do {\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  } while( true );" (do "do") (compound_statement "{\n    if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;\n    do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));\n  }" ({ "{") (if_statement "if ((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))\n    goto LAB_000a53d0;" (if "if") (parenthesized_expression "((pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))" (( "(") (binary_expression "(pEVar48 <= pEVar49) &&\n       (pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)))" (parenthesized_expression "(pEVar48 <= pEVar49)" (( "(") (binary_expression "pEVar48 <= pEVar49" (identifier "pEVar48") (<= "<=") (identifier "pEVar49")) () ")")) (&& "&&") (parenthesized_expression "(pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)))" (( "(") (binary_expression "pEVar49 < (Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" (identifier "pEVar49") (< "<") (cast_expression "(Elf32_Ehdr *)\n                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))" (( "(") (binary_expression "pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2)" (field_expression "pEStack_1c4->e_ident_magic_str" (identifier "pEStack_1c4") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(pEVar48->e_ident_magic_str + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEVar48->e_ident_magic_str + -2)" (( "(") (binary_expression "pEVar48->e_ident_magic_str + -2" (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-2")) () ")")))) () ")")))) () ")"))) () ")")) (goto_statement "goto LAB_000a53d0;" (goto "goto") (statement_identifier "LAB_000a53d0") (; ";"))) (do_statement "do {\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    } while (((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));" (do "do") (compound_statement "{\n      if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);\n      if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }\n      if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }\n      iVar10 = auStack_cc._0_4_;\n      pEVar51 = pEVar26;\n      unaff_s7 = pEVar50;\n      pEVar54 = pEVar7;\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\nLAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);\n    }" ({ "{") (if_statement "if (puStack_1e0 == (undefined1 *)0x0) {\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }" (if "if") (parenthesized_expression "(puStack_1e0 == (undefined1 *)0x0)" (( "(") (binary_expression "puStack_1e0 == (undefined1 *)0x0" (identifier "puStack_1e0") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar31._0_1_ = pEVar49->e_ident_magic_num;\n        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];\n        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];\n        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];\n        uVar36._0_1_ = param_6->e_ident_class;\n        uVar36._1_1_ = param_6->e_ident_data;\n        uVar36._2_1_ = param_6->e_ident_version;\n        uVar36._3_1_ = param_6->e_ident_osabi;\n        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);\n      }" ({ "{") (expression_statement "uVar31._0_1_ = pEVar49->e_ident_magic_num;" (assignment_expression "uVar31._0_1_ = pEVar49->e_ident_magic_num" (field_expression "uVar31._0_1_" (identifier "uVar31") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "pEVar49->e_ident_magic_num" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_num"))) (; ";")) (expression_statement "uVar31._1_1_ = pEVar49->e_ident_magic_str[0];" (assignment_expression "uVar31._1_1_ = pEVar49->e_ident_magic_str[0]" (field_expression "uVar31._1_1_" (identifier "uVar31") (. ".") (field_identifier "_1_1_")) (= "=") (subscript_expression "pEVar49->e_ident_magic_str[0]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar31._2_1_ = pEVar49->e_ident_magic_str[1];" (assignment_expression "uVar31._2_1_ = pEVar49->e_ident_magic_str[1]" (field_expression "uVar31._2_1_" (identifier "uVar31") (. ".") (field_identifier "_2_1_")) (= "=") (subscript_expression "pEVar49->e_ident_magic_str[1]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar31._3_1_ = pEVar49->e_ident_magic_str[2];" (assignment_expression "uVar31._3_1_ = pEVar49->e_ident_magic_str[2]" (field_expression "uVar31._3_1_" (identifier "uVar31") (. ".") (field_identifier "_3_1_")) (= "=") (subscript_expression "pEVar49->e_ident_magic_str[2]" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar36._0_1_ = param_6->e_ident_class;" (assignment_expression "uVar36._0_1_ = param_6->e_ident_class" (field_expression "uVar36._0_1_" (identifier "uVar36") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "param_6->e_ident_class" (identifier "param_6") (-> "->") (field_identifier "e_ident_class"))) (; ";")) (expression_statement "uVar36._1_1_ = param_6->e_ident_data;" (assignment_expression "uVar36._1_1_ = param_6->e_ident_data" (field_expression "uVar36._1_1_" (identifier "uVar36") (. ".") (field_identifier "_1_1_")) (= "=") (field_expression "param_6->e_ident_data" (identifier "param_6") (-> "->") (field_identifier "e_ident_data"))) (; ";")) (expression_statement "uVar36._2_1_ = param_6->e_ident_version;" (assignment_expression "uVar36._2_1_ = param_6->e_ident_version" (field_expression "uVar36._2_1_" (identifier "uVar36") (. ".") (field_identifier "_2_1_")) (= "=") (field_expression "param_6->e_ident_version" (identifier "param_6") (-> "->") (field_identifier "e_ident_version"))) (; ";")) (expression_statement "uVar36._3_1_ = param_6->e_ident_osabi;" (assignment_expression "uVar36._3_1_ = param_6->e_ident_osabi" (field_expression "uVar36._3_1_" (identifier "uVar36") (. ".") (field_identifier "_3_1_")) (= "=") (field_expression "param_6->e_ident_osabi" (identifier "param_6") (-> "->") (field_identifier "e_ident_osabi"))) (; ";")) (expression_statement "FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);" (call_expression "FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188)" (identifier "FUN_000a20b8") (argument_list "(pEVar7,uVar31,5,uVar36,auStack_188)" (( "(") (identifier "pEVar7") (, ",") (identifier "uVar31") (, ",") (number_literal "5") (, ",") (identifier "uVar36") (, ",") (identifier "auStack_188") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" (identifier "uVar25") (= "=") (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + (int)pEVar47 * 2)" (( "(") (binary_expression "aiStack_c0[0] + (int)pEVar47 * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "(int)pEVar47 * 2" (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (if_statement "if (uVar25 == 0) {\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }" (if "if") (parenthesized_expression "(uVar25 == 0)" (( "(") (binary_expression "uVar25 == 0" (identifier "uVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);\n      }" ({ "{") (expression_statement "uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);" (assignment_expression "uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47)" (identifier "uVar25") (= "=") (call_expression "(*(code *)pEStack_1b8)(auStack_cc,pEVar47)" (parenthesized_expression "(*(code *)pEStack_1b8)" (( "(") (pointer_expression "*(code *)pEStack_1b8" (* "*") (cast_expression "(code *)pEStack_1b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1b8"))) () ")")) (argument_list "(auStack_cc,pEVar47)" (( "(") (identifier "auStack_cc") (, ",") (identifier "pEVar47") () ")")))) (; ";")) (} "}"))) (if_statement "if (param_6->e_type < uVar25) {\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }" (if "if") (parenthesized_expression "(param_6->e_type < uVar25)" (( "(") (binary_expression "param_6->e_type < uVar25" (field_expression "param_6->e_type" (identifier "param_6") (-> "->") (field_identifier "e_type")) (< "<") (identifier "uVar25")) () ")")) (compound_statement "{\n        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);\n      }" ({ "{") (expression_statement "(*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);" (call_expression "(*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188)" (parenthesized_expression "(*(code *)pbStack_1c0)" (( "(") (pointer_expression "*(code *)pbStack_1c0" (* "*") (cast_expression "(code *)pbStack_1c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbStack_1c0"))) () ")")) (argument_list "(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188)" (( "(") (identifier "param_6") (, ",") (pointer_expression "&param_1[1].e_ident_abiversion" (& "&") (field_expression "param_1[1].e_ident_abiversion" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_abiversion"))) (, ",") (identifier "pEVar49") (, ",") (identifier "auStack_188") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar10 = auStack_cc._0_4_;" (assignment_expression "iVar10 = auStack_cc._0_4_" (identifier "iVar10") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (; ";")) (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" (identifier "unaff_s7") (= "=") (identifier "pEVar50")) (; ";")) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (; ";")) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";"))) (labeled_statement "LAB_000a53d0:\n      do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);" (statement_identifier "LAB_000a53d0") (: ":") (do_statement "do {\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      } while (pcStack_1e4 == (code *)0x0);" (do "do") (compound_statement "{\n        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;\n        pEVar42 = pEStack_1b0;\n        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;\nLAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);\n        if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }\n        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;\n        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;\n        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);\n        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);\n      }" ({ "{") (expression_statement "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar47->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar47->e_ident_magic_str" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEVar42 = pEStack_1b0;" (assignment_expression "pEVar42 = pEStack_1b0" (identifier "pEVar42") (= "=") (identifier "pEStack_1b0")) (; ";")) (if_statement "if (iVar10 <= (int)pEVar47) goto LAB_000a5474;" (if "if") (parenthesized_expression "(iVar10 <= (int)pEVar47)" (( "(") (binary_expression "iVar10 <= (int)pEVar47" (identifier "iVar10") (<= "<=") (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47"))) () ")")) (goto_statement "goto LAB_000a5474;" (goto "goto") (statement_identifier "LAB_000a5474") (; ";"))) (labeled_statement "LAB_000a53dc:\n        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);" (statement_identifier "LAB_000a53dc") (: ":") (expression_statement "pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);" (assignment_expression "pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" (identifier "pEVar49") (= "=") (pointer_expression "*(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" (* "*") (cast_expression "(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_c4 + (int)pEVar47 * 4)" (( "(") (binary_expression "iStack_c4 + (int)pEVar47 * 4" (identifier "iStack_c4") (+ "+") (binary_expression "(int)pEVar47 * 4" (cast_expression "(int)pEVar47" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar47")) (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (if_statement "if (pEVar47 == pEStack_1f0) {\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }" (if "if") (parenthesized_expression "(pEVar47 == pEStack_1f0)" (( "(") (binary_expression "pEVar47 == pEStack_1f0" (identifier "pEVar47") (== "==") (identifier "pEStack_1f0")) () ")")) (compound_statement "{\n          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;\n          if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }\n          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;\n          pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);\n        }" ({ "{") (expression_statement "param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;" (assignment_expression "param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str" (identifier "param_3") (= "=") (cast_expression "(Elf32_Ehdr *)param_3->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "param_3->e_ident_magic_str" (identifier "param_3") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (if_statement "if ((int)param_3 < (int)pEVar50) {\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }\n          else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" (if "if") (parenthesized_expression "((int)param_3 < (int)pEVar50)" (( "(") (binary_expression "(int)param_3 < (int)pEVar50" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (< "<") (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50"))) () ")")) (compound_statement "{\n            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);\n          }" ({ "{") (expression_statement "param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);" (assignment_expression "param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" (identifier "param_1") (= "=") (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" (* "*") (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_144 + (int)((int)param_3 + -1) * 4 + 4)" (( "(") (binary_expression "auStack_144 + (int)((int)param_3 + -1) * 4 + 4" (binary_expression "auStack_144 + (int)((int)param_3 + -1) * 4" (identifier "auStack_144") (+ "+") (binary_expression "(int)((int)param_3 + -1) * 4" (cast_expression "(int)((int)param_3 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)param_3 + -1)" (( "(") (binary_expression "(int)param_3 + -1" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (number_literal "-1")) () ")"))) (* "*") (number_literal "4"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" (else "else") (compound_statement "{\n            param_1 = (&pEStack_150)[(int)param_3];\n          }" ({ "{") (expression_statement "param_1 = (&pEStack_150)[(int)param_3];" (assignment_expression "param_1 = (&pEStack_150)[(int)param_3]" (identifier "param_1") (= "=") (subscript_expression "(&pEStack_150)[(int)param_3]" (parenthesized_expression "(&pEStack_150)" (( "(") (pointer_expression "&pEStack_150" (& "&") (identifier "pEStack_150")) () ")")) ([ "[") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (] "]"))) (; ";")) (} "}")))) (expression_statement "pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;" (assignment_expression "pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class" (identifier "pEStack_1e8") (= "=") (pointer_expression "*(Elf32_Ehdr **)&param_1[1].e_ident_class" (* "*") (cast_expression "(Elf32_Ehdr **)&param_1[1].e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&param_1[1].e_ident_class" (& "&") (field_expression "param_1[1].e_ident_class" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)\n                        (pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1)" (( "(") (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0) + -1" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +\n                        (uint)(pcStack_1e4 == (code *)0x0)" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3]" (binary_expression "pEStack_1f0->e_ident_magic_str +\n                        (uint)(ushort)param_1->e_version" (field_expression "pEStack_1f0->e_ident_magic_str" (identifier "pEStack_1f0") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(uint)(ushort)param_1->e_version" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(ushort)param_1->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "param_1->e_version" (identifier "param_1") (-> "->") (field_identifier "e_version"))))) (+ "+") (cast_expression "(uint)param_1->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1->e_ident_pad[3]" (field_expression "param_1->e_ident_pad" (identifier "param_1") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")))) (+ "+") (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;" (if "if") (parenthesized_expression "(*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47)" (( "(") (binary_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47" (pointer_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8)" (* "*") (cast_expression "(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_130 + (int)pEStack_1c8)" (( "(") (binary_expression "auStack_130 + (int)pEStack_1c8" (identifier "auStack_130") (+ "+") (cast_expression "(int)pEStack_1c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1c8"))) () ")")))) (!= "!=") (identifier "pEVar47")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str" (identifier "pEStack_1d4") (= "=") (cast_expression "(Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEStack_1d4->e_ident_magic_str" (identifier "pEStack_1d4") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4)" (identifier "pEStack_1c8") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEStack_1d4 * 4)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEStack_1d4 * 4)" (( "(") (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1d4")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);" (assignment_expression "param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" (identifier "param_6") (= "=") (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" (* "*") (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_144 + (int)pEStack_1d4 * 4)" (( "(") (binary_expression "auStack_144 + (int)pEStack_1d4 * 4" (identifier "auStack_144") (+ "+") (binary_expression "(int)pEStack_1d4 * 4" (cast_expression "(int)pEStack_1d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1d4")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)))" (( "(") (binary_expression "((int)pEVar50 <= (int)param_3) ||\n            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb))" (parenthesized_expression "((int)pEVar50 <= (int)param_3)" (( "(") (binary_expression "(int)pEVar50 <= (int)param_3" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (<= "<=") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) () ")")) (|| "||") (parenthesized_expression "(iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb))" (( "(") (comma_expression "iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._0_1_ = param_6->e_ident_class" (field_expression "iVar35._0_1_" (identifier "iVar35") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "param_6->e_ident_class" (identifier "param_6") (-> "->") (field_identifier "e_ident_class"))) (, ",") (comma_expression "iVar35._1_1_ = param_6->e_ident_data,\n            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._1_1_ = param_6->e_ident_data" (field_expression "iVar35._1_1_" (identifier "iVar35") (. ".") (field_identifier "_1_1_")) (= "=") (field_expression "param_6->e_ident_data" (identifier "param_6") (-> "->") (field_identifier "e_ident_data"))) (, ",") (comma_expression "iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._2_1_ = param_6->e_ident_version" (field_expression "iVar35._2_1_" (identifier "iVar35") (. ".") (field_identifier "_2_1_")) (= "=") (field_expression "param_6->e_ident_version" (identifier "param_6") (-> "->") (field_identifier "e_ident_version"))) (, ",") (comma_expression "iVar35._3_1_ = param_6->e_ident_osabi,\n            pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "iVar35._3_1_ = param_6->e_ident_osabi" (field_expression "iVar35._3_1_" (identifier "iVar35") (. ".") (field_identifier "_3_1_")) (= "=") (field_expression "param_6->e_ident_osabi" (identifier "param_6") (-> "->") (field_identifier "e_ident_osabi"))) (, ",") (comma_expression "pEVar48 = pEStack_1e8,\n            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (assignment_expression "pEVar48 = pEStack_1e8" (identifier "pEVar48") (= "=") (identifier "pEStack_1e8")) (, ",") (binary_expression "iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (identifier "iVar35") (!= "!=") (pointer_expression "*(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (* "*") (cast_expression "(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)" (( "(") (binary_expression "EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb" (binary_expression "EStack_108.e_ident_pad + (int)param_3 * 4" (field_expression "EStack_108.e_ident_pad" (identifier "EStack_108") (. ".") (field_identifier "e_ident_pad")) (+ "+") (binary_expression "(int)param_3 * 4" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (* "*") (number_literal "4"))) (+ "+") (number_literal "0xb")) () ")")))))))))) () ")"))) () ")")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (labeled_statement "LAB_000a46e0:\n  uVar13 = 0x11403;" (statement_identifier "LAB_000a46e0") (: ":") (expression_statement "uVar13 = 0x11403;" (assignment_expression "uVar13 = 0x11403" (identifier "uVar13") (= "=") (number_literal "0x11403")) (; ";"))) (expression_statement "pEStack_1ec = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1ec = (Elf32_Ehdr *)0x0" (identifier "pEStack_1ec") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pEStack_1f0 = &EStack_108;" (assignment_expression "pEStack_1f0 = &EStack_108" (identifier "pEStack_1f0") (= "=") (pointer_expression "&EStack_108" (& "&") (identifier "EStack_108"))) (; ";")) (expression_statement "pEStack_1e8 = pEVar7;" (assignment_expression "pEStack_1e8 = pEVar7" (identifier "pEStack_1e8") (= "=") (identifier "pEVar7")) (; ";")) (expression_statement "pEStack_1d4 = pEVar26;" (assignment_expression "pEStack_1d4 = pEVar26" (identifier "pEStack_1d4") (= "=") (identifier "pEVar26")) (; ";")) (goto_statement "goto LAB_000a46ec;" (goto "goto") (statement_identifier "LAB_000a46ec") (; ";")) (labeled_statement "LAB_000a5474:\n  unaff_s7 = pEVar50;" (statement_identifier "LAB_000a5474") (: ":") (expression_statement "unaff_s7 = pEVar50;" (assignment_expression "unaff_s7 = pEVar50" (identifier "unaff_s7") (= "=") (identifier "pEVar50")) (; ";"))) (if_statement "if (pEVar42 != (Elf32_Ehdr *)0x0) {\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }" (if "if") (parenthesized_expression "(pEVar42 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEVar42 != (Elf32_Ehdr *)0x0" (identifier "pEVar42") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pEStack_1f0 = (Elf32_Ehdr *)0x0;\n    pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));\n    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n    iVar10 = *(int *)(puVar53 + 0xb75e4);\n    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);\n    pEVar48 = pEStack_54;\n    pEVar49 = pEStack_1ec;\n    do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);\n  }" ({ "{") (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)0x0;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)0x0" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" (identifier "pEStack_1d4") (= "=") (cast_expression "(Elf32_Ehdr *)\n                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2))" (( "(") (binary_expression "pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2)" (field_expression "pEVar42->e_ident_magic_str" (identifier "pEVar42") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(pEStack_54->e_ident_magic_str + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEStack_54->e_ident_magic_str + -2)" (( "(") (binary_expression "pEStack_54->e_ident_magic_str + -2" (field_expression "pEStack_54->e_ident_magic_str" (identifier "pEStack_54") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-2")) () ")")))) () ")")))) (; ";")) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_188;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_188" (identifier "pEStack_1e8") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_188" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_188"))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb75e4);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb75e4)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar53 + 0xb75e4)" (* "*") (cast_expression "(int *)(puVar53 + 0xb75e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb75e4)" (( "(") (binary_expression "puVar53 + 0xb75e4" (identifier "puVar53") (+ "+") (number_literal "0xb75e4")) () ")"))))) (; ";")) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54)" (identifier "pEStack_1c4") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb75b8) + 0x54)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb75b8) + 0x54" (pointer_expression "*(int *)(puVar53 + 0xb75b8)" (* "*") (cast_expression "(int *)(puVar53 + 0xb75b8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb75b8)" (( "(") (binary_expression "puVar53 + 0xb75b8" (identifier "puVar53") (+ "+") (number_literal "0xb75b8")) () ")")))) (+ "+") (number_literal "0x54")) () ")")))) (; ";")) (expression_statement "pEVar48 = pEStack_54;" (assignment_expression "pEVar48 = pEStack_54" (identifier "pEVar48") (= "=") (identifier "pEStack_54")) (; ";")) (expression_statement "pEVar49 = pEStack_1ec;" (assignment_expression "pEVar49 = pEStack_1ec" (identifier "pEVar49") (= "=") (identifier "pEStack_1ec")) (; ";")) (do_statement "do {\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    } while (pEVar48 != pEStack_1d4);" (do "do") (compound_statement "{\n      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );\n      pEVar47 = *(Elf32_Ehdr **)pEVar49;\n      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);\n      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);\n      pbVar34 = (byte *)*puVar29;\n      puVar17 = puStack_1e0 + uVar25;\n      if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }\n      uVar38._0_1_ = pEVar47->e_ident_class;\n      uVar38._1_1_ = pEVar47->e_ident_data;\n      uVar38._2_1_ = pEVar47->e_ident_version;\n      uVar38._3_1_ = pEVar47->e_ident_osabi;\n      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));\n      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);\n      pEVar51 = pEVar26;\n      pEVar54 = pEVar7;\n      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;\n      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;\n    }" ({ "{") (expression_statement "pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        );" (assignment_expression "pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" (identifier "pbVar37") (= "=") (cast_expression "(byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)\n                        )" (( "(") (binary_expression "pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)" (field_expression "pEStack_1f0->e_ident_magic_str" (identifier "pEStack_1f0") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(pEStack_1d8->e_ident_magic_str + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + -2)" (( "(") (binary_expression "pEStack_1d8->e_ident_magic_str + -2" (field_expression "pEStack_1d8->e_ident_magic_str" (identifier "pEStack_1d8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-2")) () ")")))) () ")")))) (; ";")) (expression_statement "pEVar47 = *(Elf32_Ehdr **)pEVar49;" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)pEVar49" (identifier "pEVar47") (= "=") (pointer_expression "*(Elf32_Ehdr **)pEVar49" (* "*") (cast_expression "(Elf32_Ehdr **)pEVar49" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pEVar49")))) (; ";")) (expression_statement "puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);" (assignment_expression "puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4)" (identifier "puVar29") (= "=") (cast_expression "(undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_c4 + *(int *)pEStack_1a8 * 4)" (( "(") (binary_expression "iStack_c4 + *(int *)pEStack_1a8 * 4" (identifier "iStack_c4") (+ "+") (binary_expression "*(int *)pEStack_1a8 * 4" (pointer_expression "*(int *)pEStack_1a8" (* "*") (cast_expression "(int *)pEStack_1a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1a8"))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);" (assignment_expression "uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" (identifier "uVar25") (= "=") (binary_expression "(uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(aiStack_c0[0] + *(int *)pEStack_1a8 * 2)" (( "(") (binary_expression "aiStack_c0[0] + *(int *)pEStack_1a8 * 2" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (binary_expression "*(int *)pEStack_1a8 * 2" (pointer_expression "*(int *)pEStack_1a8" (* "*") (cast_expression "(int *)pEStack_1a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1a8"))) (* "*") (number_literal "2"))) () ")"))))) (; ";")) (expression_statement "pbVar34 = (byte *)*puVar29;" (assignment_expression "pbVar34 = (byte *)*puVar29" (identifier "pbVar34") (= "=") (cast_expression "(byte *)*puVar29" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar29" (* "*") (identifier "puVar29")))) (; ";")) (expression_statement "puVar17 = puStack_1e0 + uVar25;" (assignment_expression "puVar17 = puStack_1e0 + uVar25" (identifier "puVar17") (= "=") (binary_expression "puStack_1e0 + uVar25" (identifier "puStack_1e0") (+ "+") (identifier "uVar25"))) (; ";")) (if_statement "if (pEVar47->e_ident_abiversion == 0) {\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }\n      else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" (if "if") (parenthesized_expression "(pEVar47->e_ident_abiversion == 0)" (( "(") (binary_expression "pEVar47->e_ident_abiversion == 0" (field_expression "pEVar47->e_ident_abiversion" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_abiversion")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar32 = *(uint *)pbVar34;\n        iVar44 = *(int *)&pEVar47[1].e_ident_class;\n        uVar25 = iVar44 + 8;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;\n        uVar25 = iVar44 + 0xb;\n        uVar23 = uVar25 & 3;\n        puVar12 = (uint *)(uVar25 - uVar23);\n        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;\n      }" ({ "{") (expression_statement "uVar32 = *(uint *)pbVar34;" (assignment_expression "uVar32 = *(uint *)pbVar34" (identifier "uVar32") (= "=") (pointer_expression "*(uint *)pbVar34" (* "*") (cast_expression "(uint *)pbVar34" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar34")))) (; ";")) (expression_statement "iVar44 = *(int *)&pEVar47[1].e_ident_class;" (assignment_expression "iVar44 = *(int *)&pEVar47[1].e_ident_class" (identifier "iVar44") (= "=") (pointer_expression "*(int *)&pEVar47[1].e_ident_class" (* "*") (cast_expression "(int *)&pEVar47[1].e_ident_class" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar47[1].e_ident_class" (& "&") (field_expression "pEVar47[1].e_ident_class" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "uVar25 = iVar44 + 8;" (assignment_expression "uVar25 = iVar44 + 8" (identifier "uVar25") (= "=") (binary_expression "iVar44 + 8" (identifier "iVar44") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" (identifier "uVar23") (= "=") (binary_expression "uVar25 & 3" (identifier "uVar25") (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(uVar25 - uVar23)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar25 - uVar23)" (( "(") (binary_expression "uVar25 - uVar23" (identifier "uVar25") (- "-") (identifier "uVar23")) () ")")))) (; ";")) (expression_statement "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;" (assignment_expression "*puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8" (binary_expression "*puVar12 & -1 << (4 - uVar23) * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (& "&") (binary_expression "-1 << (4 - uVar23) * 8" (number_literal "-1") (<< "<<") (binary_expression "(4 - uVar23) * 8" (parenthesized_expression "(4 - uVar23)" (( "(") (binary_expression "4 - uVar23" (number_literal "4") (- "-") (identifier "uVar23")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar32 >> uVar23 * 8" (identifier "uVar32") (>> ">>") (binary_expression "uVar23 * 8" (identifier "uVar23") (* "*") (number_literal "8"))))) (; ";")) (expression_statement "uVar25 = iVar44 + 0xb;" (assignment_expression "uVar25 = iVar44 + 0xb" (identifier "uVar25") (= "=") (binary_expression "iVar44 + 0xb" (identifier "iVar44") (+ "+") (number_literal "0xb"))) (; ";")) (expression_statement "uVar23 = uVar25 & 3;" (assignment_expression "uVar23 = uVar25 & 3" (identifier "uVar23") (= "=") (binary_expression "uVar25 & 3" (identifier "uVar25") (& "&") (number_literal "3"))) (; ";")) (expression_statement "puVar12 = (uint *)(uVar25 - uVar23);" (assignment_expression "puVar12 = (uint *)(uVar25 - uVar23)" (identifier "puVar12") (= "=") (cast_expression "(uint *)(uVar25 - uVar23)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar25 - uVar23)" (( "(") (binary_expression "uVar25 - uVar23" (identifier "uVar25") (- "-") (identifier "uVar23")) () ")")))) (; ";")) (expression_statement "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;" (assignment_expression "*puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8" (binary_expression "*puVar12 & 0xffffffffU >> (uVar23 + 1) * 8" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (& "&") (binary_expression "0xffffffffU >> (uVar23 + 1) * 8" (number_literal "0xffffffffU") (>> ">>") (binary_expression "(uVar23 + 1) * 8" (parenthesized_expression "(uVar23 + 1)" (( "(") (binary_expression "uVar23 + 1" (identifier "uVar23") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")))) (| "|") (binary_expression "uVar32 << (3 - uVar23) * 8" (identifier "uVar32") (<< "<<") (binary_expression "(3 - uVar23) * 8" (parenthesized_expression "(3 - uVar23)" (( "(") (binary_expression "3 - uVar23" (number_literal "3") (- "-") (identifier "uVar23")) () ")")) (* "*") (number_literal "8"))))) (; ";")) (} "}")) (else_clause "else if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" (else "else") (if_statement "if (pcStack_1e4 == (code *)0x0) {\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }\n      else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" (if "if") (parenthesized_expression "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pbVar34 = pbVar34 + -4;\n        if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }\n      }" ({ "{") (expression_statement "pbVar34 = pbVar34 + -4;" (assignment_expression "pbVar34 = pbVar34 + -4" (identifier "pbVar34") (= "=") (binary_expression "pbVar34 + -4" (identifier "pbVar34") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (uVar25 == 4) {\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }" (if "if") (parenthesized_expression "(uVar25 == 4)" (( "(") (binary_expression "uVar25 == 4" (identifier "uVar25") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);\n          pbStack_1c0 = pbVar34;\n        }" ({ "{") (expression_statement "puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);" (assignment_expression "puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34)" (parenthesized_expression "(*(code *)pEVar26[1].e_entry)" (( "(") (pointer_expression "*(code *)pEVar26[1].e_entry" (* "*") (cast_expression "(code *)pEVar26[1].e_entry" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar26[1].e_entry" (subscript_expression "pEVar26[1]" (identifier "pEVar26") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_entry")))) () ")")) (argument_list "(pEVar26,pbVar34)" (( "(") (identifier "pEVar26") (, ",") (identifier "pbVar34") () ")"))))) (; ";")) (expression_statement "pbStack_1c0 = pbVar34;" (assignment_expression "pbStack_1c0 = pbVar34" (identifier "pbStack_1c0") (= "=") (identifier "pbVar34")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" (else "else") (compound_statement "{\n        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);\n        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }\n        puVar17 = (undefined1 *)(iVar44 + 4);\n        pbVar34 = pbVar37;\n        pbVar37 = (byte *)0x0;\n      }" ({ "{") (expression_statement "(*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);" (call_expression "(*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180)" (parenthesized_expression "(*(code *)pEVar47[1].e_phoff)" (( "(") (pointer_expression "*(code *)pEVar47[1].e_phoff" (* "*") (cast_expression "(code *)pEVar47[1].e_phoff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar47[1].e_phoff" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_phoff")))) () ")")) (argument_list "(pEVar47,puVar29[-1],auStack_180)" (( "(") (identifier "pEVar47") (, ",") (subscript_expression "puVar29[-1]" (identifier "puVar29") ([ "[") (number_literal "-1") (] "]")) (, ",") (identifier "auStack_180") () ")"))) (; ";")) (if_statement "if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)) {\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }\n        else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" (if "if") (parenthesized_expression "(((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80))" (( "(") (binary_expression "((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&\n           ((uint)auStack_180._4_4_ < 0x80)" (parenthesized_expression "((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_180._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_"))) (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((uint)auStack_180._4_4_ < 0x80)" (( "(") (binary_expression "(uint)auStack_180._4_4_ < 0x80" (cast_expression "(uint)auStack_180._4_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "auStack_180._4_4_" (identifier "auStack_180") (. ".") (field_identifier "_4_4_"))) (< "<") (number_literal "0x80")) () ")"))) () ")")) (compound_statement "{\n          pbVar37[4] = (byte)auStack_180._4_4_;\n          iVar44 = 1;\n        }" ({ "{") (expression_statement "pbVar37[4] = (byte)auStack_180._4_4_;" (assignment_expression "pbVar37[4] = (byte)auStack_180._4_4_" (subscript_expression "pbVar37[4]" (identifier "pbVar37") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(byte)auStack_180._4_4_" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (field_expression "auStack_180._4_4_" (identifier "auStack_180") (. ".") (field_identifier "_4_4_")))) (; ";")) (expression_statement "iVar44 = 1;" (assignment_expression "iVar44 = 1" (identifier "iVar44") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" (else "else") (compound_statement "{\n          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);\n        }" ({ "{") (expression_statement "iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);" (assignment_expression "iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4)" (identifier "iVar44") (= "=") (call_expression "(*(code *)pEStack_1c4)(pbVar37 + 4)" (parenthesized_expression "(*(code *)pEStack_1c4)" (( "(") (pointer_expression "*(code *)pEStack_1c4" (* "*") (cast_expression "(code *)pEStack_1c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1c4"))) () ")")) (argument_list "(pbVar37 + 4)" (( "(") (binary_expression "pbVar37 + 4" (identifier "pbVar37") (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")))) (expression_statement "puVar17 = (undefined1 *)(iVar44 + 4);" (assignment_expression "puVar17 = (undefined1 *)(iVar44 + 4)" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)(iVar44 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 + 4)" (( "(") (binary_expression "iVar44 + 4" (identifier "iVar44") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pbVar34 = pbVar37;" (assignment_expression "pbVar34 = pbVar37" (identifier "pbVar34") (= "=") (identifier "pbVar37")) (; ";")) (expression_statement "pbVar37 = (byte *)0x0;" (assignment_expression "pbVar37 = (byte *)0x0" (identifier "pbVar37") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))))) (expression_statement "uVar38._0_1_ = pEVar47->e_ident_class;" (assignment_expression "uVar38._0_1_ = pEVar47->e_ident_class" (field_expression "uVar38._0_1_" (identifier "uVar38") (. ".") (field_identifier "_0_1_")) (= "=") (field_expression "pEVar47->e_ident_class" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_class"))) (; ";")) (expression_statement "uVar38._1_1_ = pEVar47->e_ident_data;" (assignment_expression "uVar38._1_1_ = pEVar47->e_ident_data" (field_expression "uVar38._1_1_" (identifier "uVar38") (. ".") (field_identifier "_1_1_")) (= "=") (field_expression "pEVar47->e_ident_data" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_data"))) (; ";")) (expression_statement "uVar38._2_1_ = pEVar47->e_ident_version;" (assignment_expression "uVar38._2_1_ = pEVar47->e_ident_version" (field_expression "uVar38._2_1_" (identifier "uVar38") (. ".") (field_identifier "_2_1_")) (= "=") (field_expression "pEVar47->e_ident_version" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_version"))) (; ";")) (expression_statement "uVar38._3_1_ = pEVar47->e_ident_osabi;" (assignment_expression "uVar38._3_1_ = pEVar47->e_ident_osabi" (field_expression "uVar38._3_1_" (identifier "uVar38") (. ".") (field_identifier "_3_1_")) (= "=") (field_expression "pEVar47->e_ident_osabi" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_osabi"))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1))" (( "(") (binary_expression "pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1)" (field_expression "pEStack_1f0->e_ident_magic_str" (identifier "pEStack_1f0") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(puVar17 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar17 + -1)" (( "(") (binary_expression "puVar17 + -1" (identifier "puVar17") (+ "+") (number_literal "-1")) () ")")))) () ")")))) (; ";")) (expression_statement "(*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);" (call_expression "(*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8)" (parenthesized_expression "(*(code *)(iVar10 + 0x3cd0))" (( "(") (pointer_expression "*(code *)(iVar10 + 0x3cd0)" (* "*") (cast_expression "(code *)(iVar10 + 0x3cd0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x3cd0)" (( "(") (binary_expression "iVar10 + 0x3cd0" (identifier "iVar10") (+ "+") (number_literal "0x3cd0")) () ")")))) () ")")) (argument_list "(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8)" (( "(") (identifier "pEVar26") (, ",") (identifier "pEVar48") (, ",") (identifier "pbVar34") (, ",") (identifier "puVar17") (, ",") (identifier "pbVar37") (, ",") (identifier "uVar38") (, ",") (identifier "pEStack_1e8") () ")"))) (; ";")) (expression_statement "pEVar51 = pEVar26;" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (; ";")) (expression_statement "pEVar54 = pEVar7;" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (; ";")) (expression_statement "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);" (assignment_expression "pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0)" (identifier "pEStack_1c8") (= "=") (cast_expression "(Elf32_Ehdr *)(iVar10 + 0x3cd0)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x3cd0)" (( "(") (binary_expression "iVar10 + 0x3cd0" (identifier "iVar10") (+ "+") (number_literal "0x3cd0")) () ")")))) (; ";")) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";"))) (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class" (identifier "pEStack_1a8") (= "=") (cast_expression "(Elf32_Ehdr *)&pEStack_1a8->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEStack_1a8->e_ident_class" (& "&") (field_expression "pEStack_1a8->e_ident_class" (identifier "pEStack_1a8") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;" (assignment_expression "pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar49->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar49->e_ident_class" (& "&") (field_expression "pEVar49->e_ident_class" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pEVar48 != pEStack_1d4)" (( "(") (binary_expression "pEVar48 != pEStack_1d4" (identifier "pEVar48") (!= "!=") (identifier "pEStack_1d4")) () ")")) (; ";")) (} "}"))) (expression_statement "pEStack_1c4 = (Elf32_Ehdr *)auStack_180;" (assignment_expression "pEStack_1c4 = (Elf32_Ehdr *)auStack_180" (identifier "pEStack_1c4") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_180" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_180"))) (; ";")) (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)-(int)pEVar50" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-(int)pEVar50" (- "-") (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50"))))) (; ";")) (expression_statement "pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);" (assignment_expression "pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c)" (identifier "pEStack_1a8") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x543c)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x543c" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x543c")) () ")")))) (; ";")) (expression_statement "pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);" (assignment_expression "pbStack_1c0 = *(byte **)(puVar53 + 0xb7620)" (identifier "pbStack_1c0") (= "=") (pointer_expression "*(byte **)(puVar53 + 0xb7620)" (* "*") (cast_expression "(byte **)(puVar53 + 0xb7620)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")"))))) (; ";")) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2)" (identifier "pEStack_1e8") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEStack_1f0 + 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEStack_1f0 + 2)" (( "(") (binary_expression "(int)pEStack_1f0 + 2" (cast_expression "(int)pEStack_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f0")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);" (assignment_expression "pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114)" (identifier "pEStack_1d4") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5114)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5114" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x5114")) () ")")))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar53 + 0xb7620);" (assignment_expression "iVar10 = *(int *)(puVar53 + 0xb7620)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")"))))) (; ";")) (expression_statement "pEVar47 = pEStack_1c4;" (assignment_expression "pEVar47 = pEStack_1c4" (identifier "pEVar47") (= "=") (identifier "pEStack_1c4")) (; ";")) (do_statement "do {\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  } while( true );" (do "do") (compound_statement "{\n    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);\n    pEVar48 = pEStack_1f0;\n    if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }\n    pEStack_1c8 = pEVar50;\n    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }\n    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;\n  }" ({ "{") (expression_statement "pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);" (assignment_expression "pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1)" (identifier "pEStack_1f0") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEStack_1f0 + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEStack_1f0 + 1)" (( "(") (binary_expression "(int)pEStack_1f0 + 1" (cast_expression "(int)pEStack_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f0")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEVar48 = pEStack_1f0;" (assignment_expression "pEVar48 = pEStack_1f0" (identifier "pEVar48") (= "=") (identifier "pEStack_1f0")) (; ";")) (if_statement "if ((int)pEStack_1f0 < 0) {\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }" (if "if") (parenthesized_expression "((int)pEStack_1f0 < 0)" (( "(") (binary_expression "(int)pEStack_1f0 < 0" (cast_expression "(int)pEStack_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f0")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;\n    }" ({ "{") (expression_statement "pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)-(int)pEStack_1f0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (unary_expression "-(int)pEStack_1f0" (- "-") (cast_expression "(int)pEStack_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f0"))))) (; ";")) (} "}"))) (expression_statement "pEStack_1c8 = pEVar50;" (assignment_expression "pEStack_1c8 = pEVar50" (identifier "pEStack_1c8") (= "=") (identifier "pEVar50")) (; ";")) (if_statement "if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }\n    else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)&uStack_8c + (int)pEVar48) == '\0')" (( "(") (binary_expression "*(char *)((int)&uStack_8c + (int)pEVar48) == '\0'" (pointer_expression "*(char *)((int)&uStack_8c + (int)pEVar48)" (* "*") (cast_expression "(char *)((int)&uStack_8c + (int)pEVar48)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_8c + (int)pEVar48)" (( "(") (binary_expression "(int)&uStack_8c + (int)pEVar48" (cast_expression "(int)&uStack_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_8c" (& "&") (identifier "uStack_8c"))) (+ "+") (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48"))) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }\n      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }\n    }" ({ "{") (if_statement "if (-1 < (int)pEStack_1f0) {\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }" (if "if") (parenthesized_expression "(-1 < (int)pEStack_1f0)" (( "(") (binary_expression "-1 < (int)pEStack_1f0" (number_literal "-1") (< "<") (cast_expression "(int)pEStack_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1f0"))) () ")")) (compound_statement "{\n        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;\n        iVar20 = 0;\n        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);\n        pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);\n        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);\n        iVar44 = 0;\n        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;\n        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;\n        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;\n        goto LAB_000a5774;\n      }" ({ "{") (if_statement "if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;" (if "if") (parenthesized_expression "(pEStack_1f0 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEStack_1f0 != (Elf32_Ehdr *)0x0" (identifier "pEStack_1f0") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000a569c;" (goto "goto") (statement_identifier "LAB_000a569c") (; ";"))) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);" (assignment_expression "pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" (identifier "pcVar46") (= "=") (binary_expression "(char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14)" (cast_expression "(char *)(uint)(ushort)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")")))) (* "*") (cast_expression "(dword *)(auStack_144._0_4_ + 0x14)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 0x14)" (( "(") (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)\n                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2)" (( "(") (binary_expression "*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +\n                  auStack_130._0_4_ * 2" (pointer_expression "*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" (* "*") (cast_expression "(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3)" (( "(") (binary_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3" (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" (( "(") (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 0x34)" (( "(") (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x34")) () ")"))) () ")")) (-> "->") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")")))) (+ "+") (binary_expression "auStack_130._0_4_ * 2" (field_expression "auStack_130._0_4_" (identifier "auStack_130") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9)" (identifier "pEStack_1d8") (= "=") (binary_expression "(Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9)" (cast_expression "(Elf32_Ehdr *)(uint)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)(auStack_144._0_4_ + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 9)" (( "(") (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "9")) () ")"))))) (; ";")) (expression_statement "pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (identifier "pEVar51") (= "=") (pointer_expression "*(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (* "*") (cast_expression "(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (& "&") (field_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class" (parenthesized_expression "((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))" (( "(") (cast_expression "(Elf32_Ehdr *)(auStack_144._0_4_ + 0x34)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 0x34)" (( "(") (binary_expression "auStack_144._0_4_ + 0x34" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x34")) () ")"))) () ")")) (-> "->") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" (identifier "pEVar11") (= "=") (cast_expression "(Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3])" (( "(") (binary_expression "pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]" (identifier "pcVar46") (+ "+") (subscript_expression "((byte *)(auStack_144._0_4_ + 9))[3]" (parenthesized_expression "((byte *)(auStack_144._0_4_ + 9))" (( "(") (cast_expression "(byte *)(auStack_144._0_4_ + 9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 9)" (( "(") (binary_expression "auStack_144._0_4_ + 9" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "9")) () ")"))) () ")")) ([ "[") (number_literal "3") (] "]"))) () ")")))) (; ";")) (expression_statement "iVar44 = 0;" (assignment_expression "iVar44 = 0" (identifier "iVar44") (= "=") (number_literal "0")) (; ";")) (expression_statement "pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;" (assignment_expression "pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_" (identifier "pEVar42") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_130._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_130._0_4_" (identifier "auStack_130") (. ".") (field_identifier "_0_4_")))) (; ";")) (expression_statement "pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;" (assignment_expression "pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_" (identifier "pEVar47") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_144._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")))) (; ";")) (expression_statement "pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_" (identifier "pEVar54") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_130._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_130._0_4_" (identifier "auStack_130") (. ".") (field_identifier "_0_4_")))) (; ";")) (goto_statement "goto LAB_000a5774;" (goto "goto") (statement_identifier "LAB_000a5774") (; ";")) (} "}"))) (expression_statement "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar48[-1].e_shstrndx" (& "&") (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" (identifier "pEVar48") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }" (if "if") (parenthesized_expression "(*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14))" (( "(") (binary_expression "*(int *)(auStack_130 + (int)puVar17 * 4) <=\n          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4)" (* "*") (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_130 + (int)puVar17 * 4)" (( "(") (binary_expression "auStack_130 + (int)puVar17 * 4" (identifier "auStack_130") (+ "+") (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (* "*") (number_literal "4"))) () ")")))) (<= "<=") (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (* "*") (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_130 + (int)puVar17 * 4 + 0x14)" (( "(") (binary_expression "auStack_130 + (int)puVar17 * 4 + 0x14" (binary_expression "auStack_130 + (int)puVar17 * 4" (identifier "auStack_130") (+ "+") (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (* "*") (number_literal "4"))) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\nLAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);\n        iVar20 = auStack_cc._0_4_;\n        if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }\n        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);\n        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);\n        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);\n        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;\n        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);\n        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];\n        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;\n        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);\n        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);\n        if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }\n        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);\n        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';\n        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;\n        goto LAB_000a5944;\n      }" ({ "{") (labeled_statement "LAB_000a569c:\n        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" (statement_identifier "LAB_000a569c") (: ":") (expression_statement "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);" (assignment_expression "puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" (identifier "puVar17") (= "=") (cast_expression "(undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar48[-1].e_shstrndx" (& "&") (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" (identifier "pEVar48") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "iVar20 = auStack_cc._0_4_;" (assignment_expression "iVar20 = auStack_cc._0_4_" (identifier "iVar20") (= "=") (field_expression "auStack_cc._0_4_" (identifier "auStack_cc") (. ".") (field_identifier "_0_4_"))) (; ";")) (if_statement "if ((int)pEVar48 < (int)pcStack_1bc) {\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }" (if "if") (parenthesized_expression "((int)pEVar48 < (int)pcStack_1bc)" (( "(") (binary_expression "(int)pEVar48 < (int)pcStack_1bc" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (< "<") (cast_expression "(int)pcStack_1bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_1bc"))) () ")")) (compound_statement "{\n          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);\n        }" ({ "{") (expression_statement "iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);" (assignment_expression "iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (identifier "iVar20") (= "=") (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) +\n                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) (+ "+") (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (* "*") (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_130 + (int)puVar17 * 4 + 0x14)" (( "(") (binary_expression "auStack_130 + (int)puVar17 * 4 + 0x14" (binary_expression "auStack_130 + (int)puVar17 * 4" (identifier "auStack_130") (+ "+") (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (* "*") (number_literal "4"))) (+ "+") (number_literal "0x14")) () ")")))))) (; ";")) (} "}"))) (expression_statement "pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);" (assignment_expression "pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" (identifier "pEVar47") (= "=") (pointer_expression "*(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" (* "*") (cast_expression "(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4)" (( "(") (binary_expression "auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4" (binary_expression "auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4" (identifier "auStack_144") (+ "+") (binary_expression "(int)((int)&pEVar48[-1].e_shstrndx + 1) * 4" (cast_expression "(int)((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)&pEVar48[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar48[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar48[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar48[-1].e_shstrndx" (& "&") (field_expression "pEVar48[-1].e_shstrndx" (subscript_expression "pEVar48[-1]" (identifier "pEVar48") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")"))) (* "*") (number_literal "4"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);" (assignment_expression "pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" (identifier "pEVar54") (= "=") (pointer_expression "*(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" (* "*") (cast_expression "(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4)" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(auStack_130 + (int)pEVar48 * 4)" (( "(") (binary_expression "auStack_130 + (int)pEVar48 * 4" (identifier "auStack_130") (+ "+") (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);" (assignment_expression "iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4)" (identifier "iVar44") (= "=") (binary_expression "(uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4)" (call_expression "(uint)(pcStack_1e4 == (code *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcStack_1e4 == (code *)0x0)" (( "(") (binary_expression "pcStack_1e4 == (code *)0x0" (identifier "pcStack_1e4") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) (+ "+") (pointer_expression "*(int *)(auStack_130 + (int)puVar17 * 4)" (* "*") (cast_expression "(int *)(auStack_130 + (int)puVar17 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_130 + (int)puVar17 * 4)" (( "(") (binary_expression "auStack_130 + (int)puVar17 * 4" (identifier "auStack_130") (+ "+") (binary_expression "(int)puVar17 * 4" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;" (assignment_expression "pcVar46 = (char *)(uint)(ushort)pEVar47->e_version" (identifier "pcVar46") (= "=") (cast_expression "(char *)(uint)(ushort)pEVar47->e_version" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)(ushort)pEVar47->e_version" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(ushort)pEVar47->e_version" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (field_expression "pEVar47->e_version" (identifier "pEVar47") (-> "->") (field_identifier "e_version")))))) (; ";")) (expression_statement "pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);" (assignment_expression "pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44)" (identifier "pEVar42") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEVar54 - iVar44)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEVar54 - iVar44)" (( "(") (binary_expression "(int)pEVar54 - iVar44" (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (- "-") (identifier "iVar44")) () ")")))) (; ";")) (expression_statement "pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];" (assignment_expression "pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0]" (identifier "pEStack_1d8") (= "=") (cast_expression "(Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0]" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)pEVar47->e_ident_pad[0]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar47->e_ident_pad[0]" (field_expression "pEVar47->e_ident_pad" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "0") (] "]"))))) (; ";")) (expression_statement "pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;" (assignment_expression "pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class" (identifier "pEVar51") (= "=") (pointer_expression "*(Elf32_Ehdr **)&pEVar47[1].e_ident_class" (* "*") (cast_expression "(Elf32_Ehdr **)&pEVar47[1].e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr **" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&pEVar47[1].e_ident_class" (& "&") (field_expression "pEVar47[1].e_ident_class" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_class")))))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2)" (( "(") (binary_expression "*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2" (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")")))) (+ "+") (binary_expression "(int)pEVar42 * 2" (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (* "*") (number_literal "2"))) () ")")))) (; ";")) (expression_statement "pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);" (assignment_expression "pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" (identifier "pEVar11") (= "=") (cast_expression "(Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20)" (( "(") (binary_expression "pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20" (binary_expression "pcVar46 + (uint)pEVar47->e_ident_pad[3]" (identifier "pcVar46") (+ "+") (cast_expression "(uint)pEVar47->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")))) (+ "+") (identifier "iVar20")) () ")")))) (; ";")) (if_statement "if (iVar20 < iVar44) {\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }\n        else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" (if "if") (parenthesized_expression "(iVar20 < iVar44)" (( "(") (binary_expression "iVar20 < iVar44" (identifier "iVar20") (< "<") (identifier "iVar44")) () ")")) (compound_statement "{\n          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);\n          pEStack_1b8 = pEVar11;\n          if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }\n          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);\nLAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;\n        }" ({ "{") (expression_statement "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);" (assignment_expression "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" (identifier "iVar18") (= "=") (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" (( "(") (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" (* "*") (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbStack_1c0 + -0x5e24)" (( "(") (binary_expression "pbStack_1c0 + -0x5e24" (identifier "pbStack_1c0") (+ "+") (number_literal "-0x5e24")) () ")")))) () ")")) (argument_list "(pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0)" (( "(") (identifier "pEVar47") (, ",") (identifier "iVar20") (, ",") (binary_expression "iVar44 - iVar20" (identifier "iVar44") (- "-") (identifier "iVar20")) (, ",") (pointer_expression "&iStack_c4" (& "&") (identifier "iStack_c4")) (, ",") (identifier "aiStack_c0") () ")")))) (; ";")) (expression_statement "pEStack_1b8 = pEVar11;" (assignment_expression "pEStack_1b8 = pEVar11" (identifier "pEStack_1b8") (= "=") (identifier "pEVar11")) (; ";")) (if_statement "if (iVar18 <= (int)pcVar46) {\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }" (if "if") (parenthesized_expression "(iVar18 <= (int)pcVar46)" (( "(") (binary_expression "iVar18 <= (int)pcVar46" (identifier "iVar18") (<= "<=") (cast_expression "(int)pcVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar46"))) () ")")) (compound_statement "{\n            iVar35 = (int)pcVar46 << 1;\n            pcVar46 = pcVar46 + -iVar18;\n            (**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);\n            goto LAB_000a5774;\n          }" ({ "{") (expression_statement "iVar35 = (int)pcVar46 << 1;" (assignment_expression "iVar35 = (int)pcVar46 << 1" (identifier "iVar35") (= "=") (binary_expression "(int)pcVar46 << 1" (cast_expression "(int)pcVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar46")) (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "pcVar46 = pcVar46 + -iVar18;" (assignment_expression "pcVar46 = pcVar46 + -iVar18" (identifier "pcVar46") (= "=") (binary_expression "pcVar46 + -iVar18" (identifier "pcVar46") (+ "+") (unary_expression "-iVar18" (- "-") (identifier "iVar18")))) (; ";")) (expression_statement "(**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);" (call_expression "(**(code **)(puVar53 + 0xb791c))\n                      (*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb791c)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb791c)" (* "*") (cast_expression "(code **)(puVar53 + 0xb791c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb791c)" (( "(") (binary_expression "puVar53 + 0xb791c" (identifier "puVar53") (+ "+") (number_literal "0xb791c")) () ")"))))) () ")")) (argument_list "(*(int *)(pEVar47[1].e_ident_pad + 3),\n                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35)" (( "(") (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")")))) (, ",") (binary_expression "*(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2" (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")")))) (+ "+") (binary_expression "iVar18 * 2" (identifier "iVar18") (* "*") (number_literal "2"))) (, ",") (identifier "iVar35") () ")"))) (; ";")) (goto_statement "goto LAB_000a5774;" (goto "goto") (statement_identifier "LAB_000a5774") (; ";")) (} "}"))) (expression_statement "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);" (assignment_expression "auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)(iVar10 + -0x75c0))(0x111f9)" (parenthesized_expression "(*(code *)(iVar10 + -0x75c0))" (( "(") (pointer_expression "*(code *)(iVar10 + -0x75c0)" (* "*") (cast_expression "(code *)(iVar10 + -0x75c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + -0x75c0)" (( "(") (binary_expression "iVar10 + -0x75c0" (identifier "iVar10") (+ "+") (number_literal "-0x75c0")) () ")")))) () ")")) (argument_list "(0x111f9)" (( "(") (number_literal "0x111f9") () ")")))) (; ";")) (labeled_statement "LAB_000a5b00:\n          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" (statement_identifier "LAB_000a5b00") (: ":") (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";")))) (} "}")) (else_clause "else {\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" (else "else") (compound_statement "{\nLAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }\n          pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));\n          auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);\n          if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }\n          if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }\n          uVar25 = (uint)pEVar47->e_ident_pad[3];\n          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n          if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }\n          iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);\n          if (iVar20 != 0) goto LAB_000a5a94;\n          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;\n          pEVar47->e_ident_pad[3] = 0;\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);\n          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;\n          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);\n          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;\n          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;\n        }" ({ "{") (labeled_statement "LAB_000a5774:\n          if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" (statement_identifier "LAB_000a5774") (: ":") (if_statement "if ((int)pEVar54 < (int)pEVar11) {\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" (if "if") (parenthesized_expression "((int)pEVar54 < (int)pEVar11)" (( "(") (binary_expression "(int)pEVar54 < (int)pEVar11" (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54")) (< "<") (cast_expression "(int)pEVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar11"))) () ")")) (compound_statement "{\n            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);\n            pcVar46 = pcVar46 + -iVar18;\n          }" ({ "{") (expression_statement "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);" (assignment_expression "iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" (identifier "iVar18") (= "=") (call_expression "(*(code *)(pbStack_1c0 + -0x5e24))\n                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" (parenthesized_expression "(*(code *)(pbStack_1c0 + -0x5e24))" (( "(") (pointer_expression "*(code *)(pbStack_1c0 + -0x5e24)" (* "*") (cast_expression "(code *)(pbStack_1c0 + -0x5e24)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbStack_1c0 + -0x5e24)" (( "(") (binary_expression "pbStack_1c0 + -0x5e24" (identifier "pbStack_1c0") (+ "+") (number_literal "-0x5e24")) () ")")))) () ")")) (argument_list "(pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0)" (( "(") (identifier "pEVar47") (, ",") (identifier "pEVar54") (, ",") (binary_expression "(int)pEVar11 - (int)pEVar54" (cast_expression "(int)pEVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar11")) (- "-") (cast_expression "(int)pEVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar54"))) (, ",") (pointer_expression "&iStack_c4" (& "&") (identifier "iStack_c4")) (, ",") (identifier "aiStack_c0") () ")")))) (; ";")) (expression_statement "pcVar46 = pcVar46 + -iVar18;" (assignment_expression "pcVar46 = pcVar46 + -iVar18" (identifier "pcVar46") (= "=") (binary_expression "pcVar46 + -iVar18" (identifier "pcVar46") (+ "+") (unary_expression "-iVar18" (- "-") (identifier "iVar18")))) (; ";")) (} "}")))) (expression_statement "pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));" (assignment_expression "pEStack_1b0 = (Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" (identifier "pEStack_1b0") (= "=") (cast_expression "(Elf32_Ehdr *)\n                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1))" (( "(") (binary_expression "&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1)" (pointer_expression "&pEStack_1d8->e_ident_version" (& "&") (field_expression "pEStack_1d8->e_ident_version" (identifier "pEStack_1d8") (-> "->") (field_identifier "e_ident_version"))) (+ "+") (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" (( "(") (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-1")) () ")")))) () ")")))) (; ";")) (expression_statement "auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);" (assignment_expression "auStack_180._0_4_ =\n               pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_")) (= "=") (binary_expression "pEVar51->e_ident_magic_str +\n               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (parenthesized_expression "(CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff)" (( "(") (binary_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff" (binary_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num) - 1" (call_expression "CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num)" (identifier "CONCAT11") (argument_list "((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],\n                         pEStack_1b0->e_ident_magic_num)" (( "(") (subscript_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)]" (parenthesized_expression "(&pEStack_1d8->e_ident_data)" (( "(") (pointer_expression "&pEStack_1d8->e_ident_data" (& "&") (field_expression "pEStack_1d8->e_ident_data" (identifier "pEStack_1d8") (-> "->") (field_identifier "e_ident_data"))) () ")")) ([ "[") (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" (( "(") (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-1")) () ")"))) (] "]")) (, ",") (field_expression "pEStack_1b0->e_ident_magic_num" (identifier "pEStack_1b0") (-> "->") (field_identifier "e_ident_magic_num")) () ")"))) (- "-") (number_literal "1")) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (if_statement "if ((uint)auStack_180._0_4_ < pEVar49) {\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }" (if "if") (parenthesized_expression "((uint)auStack_180._0_4_ < pEVar49)" (( "(") (binary_expression "(uint)auStack_180._0_4_ < pEVar49" (cast_expression "(uint)auStack_180._0_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_"))) (< "<") (identifier "pEVar49")) () ")")) (compound_statement "{\nLAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }\n            pEVar54 = (Elf32_Ehdr *)auStack_cc;\n            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);\n            goto LAB_000a5b00;\n          }" ({ "{") (labeled_statement "LAB_000a5a94:\n            if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" (statement_identifier "LAB_000a5a94") (: ":") (if_statement "if (0 < (int)pEVar42) {\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" (if "if") (parenthesized_expression "(0 < (int)pEVar42)" (( "(") (binary_expression "0 < (int)pEVar42" (number_literal "0") (< "<") (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42"))) () ")")) (compound_statement "{\nLAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);\n              pEVar54 = pEVar42;\n              do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);\n            }" ({ "{") (labeled_statement "LAB_000a5a9c:\n              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);" (statement_identifier "LAB_000a5a9c") (: ":") (expression_statement "pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(iVar44 << 1)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(iVar44 << 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar44 << 1)" (( "(") (binary_expression "iVar44 << 1" (identifier "iVar44") (<< "<<") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "pEVar54 = pEVar42;" (assignment_expression "pEVar54 = pEVar42" (identifier "pEVar54") (= "=") (identifier "pEVar42")) (; ";")) (do_statement "do {\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              } while (pEVar54 != (Elf32_Ehdr *)0x0);" (do "do") (compound_statement "{\n                iVar20 = aiStack_c0[0] + -1;\n                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }\n                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);\n                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);\n              }" ({ "{") (expression_statement "iVar20 = aiStack_c0[0] + -1;" (assignment_expression "iVar20 = aiStack_c0[0] + -1" (identifier "iVar20") (= "=") (binary_expression "aiStack_c0[0] + -1" (subscript_expression "aiStack_c0[0]" (identifier "aiStack_c0") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }" (if "if") (parenthesized_expression "(*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0)" (( "(") (binary_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0" (pointer_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20)" (* "*") (cast_expression "(short *)(pEVar49->e_ident_magic_str + iVar20)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar49->e_ident_magic_str + iVar20)" (( "(") (binary_expression "pEVar49->e_ident_magic_str + iVar20" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar20")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );\n                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;\n                }" ({ "{") (expression_statement "sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     );" (assignment_expression "sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" (identifier "sVar21") (= "=") (call_expression "(*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)\n                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" (parenthesized_expression "(*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)" (( "(") (pointer_expression "*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" (* "*") (cast_expression "(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry" (parenthesized_expression "((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))" (( "(") (cast_expression "(Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_cc._4_4_ + 0x34)" (( "(") (binary_expression "auStack_cc._4_4_ + 0x34" (field_expression "auStack_cc._4_4_" (identifier "auStack_cc") (. ".") (field_identifier "_4_4_")) (+ "+") (number_literal "0x34")) () ")"))) () ")")) (-> "->") (field_identifier "e_entry")))) () ")")) (argument_list "(auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)\n                                     )" (( "(") (field_expression "auStack_cc._4_4_" (identifier "auStack_cc") (. ".") (field_identifier "_4_4_")) (, ",") (pointer_expression "*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)" (* "*") (cast_expression "(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_c4 + (int)pEVar49 * 2)" (( "(") (binary_expression "iStack_c4 + (int)pEVar49 * 2" (identifier "iStack_c4") (+ "+") (binary_expression "(int)pEVar49 * 2" (cast_expression "(int)pEVar49" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar49")) (* "*") (number_literal "2"))) () ")")))) () ")")))) (; ";")) (expression_statement "*(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;" (assignment_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21" (pointer_expression "*(short *)(pEVar49->e_ident_magic_str + iVar20)" (* "*") (cast_expression "(short *)(pEVar49->e_ident_magic_str + iVar20)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar49->e_ident_magic_str + iVar20)" (( "(") (binary_expression "pEVar49->e_ident_magic_str + iVar20" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar20")) () ")")))) (= "=") (identifier "sVar21")) (; ";")) (} "}"))) (expression_statement "pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);" (assignment_expression "pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" (identifier "pEVar54") (= "=") (cast_expression "(Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar54[-1].e_shstrndx + 1)" (( "(") (binary_expression "(int)&pEVar54[-1].e_shstrndx + 1" (cast_expression "(int)&pEVar54[-1].e_shstrndx" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar54[-1].e_shstrndx" (& "&") (field_expression "pEVar54[-1].e_shstrndx" (subscript_expression "pEVar54[-1]" (identifier "pEVar54") ([ "[") (number_literal "-1") (] "]")) (. ".") (field_identifier "e_shstrndx")))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);" (assignment_expression "pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" (identifier "pEVar49") (= "=") (cast_expression "(Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar49->e_ident_magic_str + 1)" (( "(") (binary_expression "pEVar49->e_ident_magic_str + 1" (field_expression "pEVar49->e_ident_magic_str" (identifier "pEVar49") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pEVar54 != (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEVar54 != (Elf32_Ehdr *)0x0" (identifier "pEVar54") (!= "!=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (expression_statement "pEVar54 = (Elf32_Ehdr *)auStack_cc;" (assignment_expression "pEVar54 = (Elf32_Ehdr *)auStack_cc" (identifier "pEVar54") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_cc" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_cc"))) (; ";")) (expression_statement "auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);" (assignment_expression "auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47)" (parenthesized_expression "(*(code *)pEStack_1a8)" (( "(") (pointer_expression "*(code *)pEStack_1a8" (* "*") (cast_expression "(code *)pEStack_1a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1a8"))) () ")")) (argument_list "(pEVar54,iVar44,pEVar42,pEVar47)" (( "(") (identifier "pEVar54") (, ",") (identifier "iVar44") (, ",") (identifier "pEVar42") (, ",") (identifier "pEVar47") () ")")))) (; ";")) (goto_statement "goto LAB_000a5b00;" (goto "goto") (statement_identifier "LAB_000a5b00") (; ";")) (} "}"))) (if_statement "if (iVar44 < iVar20) {\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }" (if "if") (parenthesized_expression "(iVar44 < iVar20)" (( "(") (binary_expression "iVar44 < iVar20" (identifier "iVar44") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);\n            if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }\n            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;\n            iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);\n            if (iVar18 != 0) goto LAB_000a5a94;\n            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);\n          }" ({ "{") (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);" (assignment_expression "pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44)" (identifier "pEStack_1b8") (= "=") (cast_expression "(Elf32_Ehdr *)(iVar20 - iVar44)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 - iVar44)" (( "(") (binary_expression "iVar20 - iVar44" (identifier "iVar20") (- "-") (identifier "iVar44")) () ")")))) (; ";")) (if_statement "if ((int)pEVar42 < iVar20 - iVar44) {\n              pEStack_1b8 = pEVar42;\n            }" (if "if") (parenthesized_expression "((int)pEVar42 < iVar20 - iVar44)" (( "(") (binary_expression "(int)pEVar42 < iVar20 - iVar44" (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (< "<") (binary_expression "iVar20 - iVar44" (identifier "iVar20") (- "-") (identifier "iVar44"))) () ")")) (compound_statement "{\n              pEStack_1b8 = pEVar42;\n            }" ({ "{") (expression_statement "pEStack_1b8 = pEVar42;" (assignment_expression "pEStack_1b8 = pEVar42" (identifier "pEStack_1b8") (= "=") (identifier "pEVar42")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)\n            ;" (call_expression "(**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb791c)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb791c)" (* "*") (cast_expression "(code **)(puVar53 + 0xb791c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb791c)" (( "(") (binary_expression "puVar53 + 0xb791c" (identifier "puVar53") (+ "+") (number_literal "0xb791c")) () ")"))))) () ")")) (argument_list "(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)" (( "(") (binary_expression "iVar18 + (int)pEStack_1b8 * 2" (identifier "iVar18") (+ "+") (binary_expression "(int)pEStack_1b8 * 2" (cast_expression "(int)pEStack_1b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1b8")) (* "*") (number_literal "2"))) (, ",") (identifier "iVar18") (, ",") (binary_expression "(int)pcVar46 << 1" (cast_expression "(int)pcVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar46")) (<< "<<") (number_literal "1")) () ")"))) (; ";")) (expression_statement "iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);" (assignment_expression "iVar18 = (*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" (identifier "iVar18") (= "=") (call_expression "(*(code *)pEStack_1d4)\n                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" (( "(") (pointer_expression "*(code *)pEStack_1d4" (* "*") (cast_expression "(code *)pEStack_1d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1d4"))) () ")")) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc)" (( "(") (identifier "pEVar47") (, ",") (identifier "pEVar49") (, ",") (identifier "pEStack_1c4") (, ",") (identifier "iVar18") (, ",") (identifier "iVar44") (, ",") (identifier "pEStack_1b8") (, ",") (identifier "auStack_cc") () ")")))) (; ";")) (if_statement "if (iVar18 != 0) goto LAB_000a5a94;" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a5a94;" (goto "goto") (statement_identifier "LAB_000a5a94") (; ";"))) (expression_statement "pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);" (assignment_expression "pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1)" (identifier "pcVar46") (= "=") (binary_expression "pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1)" (field_expression "pEStack_1b8->e_ident_magic_str" (identifier "pEStack_1b8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(pcVar46 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar46 + -1)" (( "(") (binary_expression "pcVar46 + -1" (identifier "pcVar46") (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar25 = (uint)pEVar47->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)pEVar47->e_ident_pad[3]" (identifier "uVar25") (= "=") (cast_expression "(uint)pEVar47->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if (uVar25 != 0) {\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }" (if "if") (parenthesized_expression "(uVar25 != 0)" (( "(") (binary_expression "uVar25 != 0" (identifier "uVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);\n            iVar35 = 0;\n            do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);\n          }" ({ "{") (expression_statement "puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);" (assignment_expression "puVar41 = (ushort *)((int)&pEVar47->e_entry + 2)" (identifier "puVar41") (= "=") (cast_expression "(ushort *)((int)&pEVar47->e_entry + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar47->e_entry + 2)" (( "(") (binary_expression "(int)&pEVar47->e_entry + 2" (cast_expression "(int)&pEVar47->e_entry" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar47->e_entry" (& "&") (field_expression "pEVar47->e_entry" (identifier "pEVar47") (-> "->") (field_identifier "e_entry")))) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            } while (iVar35 < (int)uVar25);" (do "do") (compound_statement "{\n              uVar3 = *puVar41;\n              iVar19 = ((uint)uVar3 + iVar20) - iVar44;\n              pEStack_1b8 = pEVar48;\n              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }\n              iVar35 = iVar35 + 1;\n              puVar41 = puVar41 + 1;\n            }" ({ "{") (expression_statement "uVar3 = *puVar41;" (assignment_expression "uVar3 = *puVar41" (identifier "uVar3") (= "=") (pointer_expression "*puVar41" (* "*") (identifier "puVar41"))) (; ";")) (expression_statement "iVar19 = ((uint)uVar3 + iVar20) - iVar44;" (assignment_expression "iVar19 = ((uint)uVar3 + iVar20) - iVar44" (identifier "iVar19") (= "=") (binary_expression "((uint)uVar3 + iVar20) - iVar44" (parenthesized_expression "((uint)uVar3 + iVar20)" (( "(") (binary_expression "(uint)uVar3 + iVar20" (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3")) (+ "+") (identifier "iVar20")) () ")")) (- "-") (identifier "iVar44"))) (; ";")) (expression_statement "pEStack_1b8 = pEVar48;" (assignment_expression "pEStack_1b8 = pEVar48" (identifier "pEStack_1b8") (= "=") (identifier "pEVar48")) (; ";")) (if_statement "if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }" (if "if") (parenthesized_expression "((-1 < iVar19) && (iVar19 < (int)pEVar42))" (( "(") (binary_expression "(-1 < iVar19) && (iVar19 < (int)pEVar42)" (parenthesized_expression "(-1 < iVar19)" (( "(") (binary_expression "-1 < iVar19" (number_literal "-1") (< "<") (identifier "iVar19")) () ")")) (&& "&&") (parenthesized_expression "(iVar19 < (int)pEVar42)" (( "(") (binary_expression "iVar19 < (int)pEVar42" (identifier "iVar19") (< "<") (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42"))) () ")"))) () ")")) (compound_statement "{\n                iVar18 = iVar18 + iVar19 * 2;\n                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);\n                pcVar46 = pcVar46 + 1;\n                iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);\n                if (iVar18 != 0) goto LAB_000a5a9c;\n                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);\n                uVar25 = (uint)pEVar47->e_ident_pad[3];\n              }" ({ "{") (expression_statement "iVar18 = iVar18 + iVar19 * 2;" (assignment_expression "iVar18 = iVar18 + iVar19 * 2" (identifier "iVar18") (= "=") (binary_expression "iVar18 + iVar19 * 2" (identifier "iVar18") (+ "+") (binary_expression "iVar19 * 2" (identifier "iVar19") (* "*") (number_literal "2")))) (; ";")) (expression_statement "(**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);" (call_expression "(**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2)" (parenthesized_expression "(**(code **)(puVar53 + 0xb791c))" (( "(") (pointer_expression "**(code **)(puVar53 + 0xb791c)" (* "*") (pointer_expression "*(code **)(puVar53 + 0xb791c)" (* "*") (cast_expression "(code **)(puVar53 + 0xb791c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar53 + 0xb791c)" (( "(") (binary_expression "puVar53 + 0xb791c" (identifier "puVar53") (+ "+") (number_literal "0xb791c")) () ")"))))) () ")")) (argument_list "(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2)" (( "(") (binary_expression "iVar18 + 2" (identifier "iVar18") (+ "+") (number_literal "2")) (, ",") (identifier "iVar18") (, ",") (binary_expression "((int)pcVar46 - iVar19) * 2" (parenthesized_expression "((int)pcVar46 - iVar19)" (( "(") (binary_expression "(int)pcVar46 - iVar19" (cast_expression "(int)pcVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar46")) (- "-") (identifier "iVar19")) () ")")) (* "*") (number_literal "2")) () ")"))) (; ";")) (expression_statement "pcVar46 = pcVar46 + 1;" (assignment_expression "pcVar46 = pcVar46 + 1" (identifier "pcVar46") (= "=") (binary_expression "pcVar46 + 1" (identifier "pcVar46") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc);" (assignment_expression "iVar18 = (*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" (identifier "iVar18") (= "=") (call_expression "(*(code *)pEStack_1d4)\n                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" (( "(") (pointer_expression "*(code *)pEStack_1d4" (* "*") (cast_expression "(code *)pEStack_1d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1d4"))) () ")")) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,\n                                    auStack_cc)" (( "(") (identifier "pEVar47") (, ",") (identifier "pEVar49") (, ",") (identifier "pEStack_1c4") (, ",") (identifier "iVar18") (, ",") (binary_expression "(uint)uVar3 + iVar20" (cast_expression "(uint)uVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar3")) (+ "+") (identifier "iVar20")) (, ",") (number_literal "1") (, ",") (identifier "auStack_cc") () ")")))) (; ";")) (if_statement "if (iVar18 != 0) goto LAB_000a5a9c;" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a5a9c;" (goto "goto") (statement_identifier "LAB_000a5a9c") (; ";"))) (expression_statement "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);" (assignment_expression "iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(pEVar47[1].e_ident_pad + 3)" (* "*") (cast_expression "(int *)(pEVar47[1].e_ident_pad + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar47[1].e_ident_pad + 3)" (( "(") (binary_expression "pEVar47[1].e_ident_pad + 3" (field_expression "pEVar47[1].e_ident_pad" (subscript_expression "pEVar47[1]" (identifier "pEVar47") ([ "[") (number_literal "1") (] "]")) (. ".") (field_identifier "e_ident_pad")) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "uVar25 = (uint)pEVar47->e_ident_pad[3];" (assignment_expression "uVar25 = (uint)pEVar47->e_ident_pad[3]" (identifier "uVar25") (= "=") (cast_expression "(uint)pEVar47->e_ident_pad[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}"))) (expression_statement "iVar35 = iVar35 + 1;" (assignment_expression "iVar35 = iVar35 + 1" (identifier "iVar35") (= "=") (binary_expression "iVar35 + 1" (identifier "iVar35") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar41 = puVar41 + 1;" (assignment_expression "puVar41 = puVar41 + 1" (identifier "puVar41") (= "=") (binary_expression "puVar41 + 1" (identifier "puVar41") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar35 < (int)uVar25)" (( "(") (binary_expression "iVar35 < (int)uVar25" (identifier "iVar35") (< "<") (cast_expression "(int)uVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar25"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);" (assignment_expression "iVar20 = (*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" (identifier "iVar20") (= "=") (call_expression "(*(code *)pEStack_1d4)\n                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" (parenthesized_expression "(*(code *)pEStack_1d4)" (( "(") (pointer_expression "*(code *)pEStack_1d4" (* "*") (cast_expression "(code *)pEStack_1d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEStack_1d4"))) () ")")) (argument_list "(pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44\n                              ,(int)pEVar42 - (int)pcVar46,auStack_cc)" (( "(") (identifier "pEVar47") (, ",") (identifier "pEVar49") (, ",") (identifier "pEStack_1c4") (, ",") (binary_expression "iVar18 + (int)pcVar46 * 2" (identifier "iVar18") (+ "+") (binary_expression "(int)pcVar46 * 2" (cast_expression "(int)pcVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar46")) (* "*") (number_literal "2"))) (, ",") (binary_expression "pcVar46 + iVar44" (identifier "pcVar46") (+ "+") (identifier "iVar44")) (, ",") (binary_expression "(int)pEVar42 - (int)pcVar46" (cast_expression "(int)pEVar42" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar42")) (- "-") (cast_expression "(int)pcVar46" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar46"))) (, ",") (identifier "auStack_cc") () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_000a5a94;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a5a94;" (goto "goto") (statement_identifier "LAB_000a5a94") (; ";"))) (expression_statement "*(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;" (assignment_expression "*(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42" (pointer_expression "*(short *)((int)&pEVar47->e_version + 2)" (* "*") (cast_expression "(short *)((int)&pEVar47->e_version + 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&pEVar47->e_version + 2)" (( "(") (binary_expression "(int)&pEVar47->e_version + 2" (cast_expression "(int)&pEVar47->e_version" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&pEVar47->e_version" (& "&") (field_expression "pEVar47->e_version" (identifier "pEVar47") (-> "->") (field_identifier "e_version")))) (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(short)pEVar42" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "pEVar42"))) (; ";")) (expression_statement "pEVar47->e_ident_pad[3] = 0;" (assignment_expression "pEVar47->e_ident_pad[3] = 0" (subscript_expression "pEVar47->e_ident_pad[3]" (field_expression "pEVar47->e_ident_pad" (identifier "pEVar47") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8);" (assignment_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =\n               (byte)((uint)pEVar42 >> 8)" (subscript_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3]" (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))" (( "(") (binary_expression "pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2)" (field_expression "pEStack_1d8->e_ident_magic_str" (identifier "pEStack_1d8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(pEVar51->e_ident_magic_str + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEVar51->e_ident_magic_str + -2)" (( "(") (binary_expression "pEVar51->e_ident_magic_str + -2" (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-2")) () ")")))) () ")")) ([ "[") (number_literal "3") (] "]")) (= "=") (call_expression "(byte)((uint)pEVar42 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)pEVar42 >> 8)" (( "(") (binary_expression "(uint)pEVar42 >> 8" (cast_expression "(uint)pEVar42" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pEVar42")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version;" (assignment_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =\n               (byte)(short)pEVar47->e_version" (subscript_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4]" (parenthesized_expression "(pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))" (( "(") (binary_expression "pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2)" (field_expression "pEStack_1d8->e_ident_magic_str" (identifier "pEStack_1d8") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (cast_expression "(int)(pEVar51->e_ident_magic_str + -2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEVar51->e_ident_magic_str + -2)" (( "(") (binary_expression "pEVar51->e_ident_magic_str + -2" (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-2")) () ")")))) () ")")) ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(byte)(short)pEVar47->e_version" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (cast_expression "(short)pEVar47->e_version" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (field_expression "pEVar47->e_version" (identifier "pEVar47") (-> "->") (field_identifier "e_version"))))) (; ";")) (expression_statement "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);" (assignment_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =\n               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" (subscript_expression "(&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)]" (parenthesized_expression "(&pEStack_1d8->e_ident_data)" (( "(") (pointer_expression "&pEStack_1d8->e_ident_data" (& "&") (field_expression "pEStack_1d8->e_ident_data" (identifier "pEStack_1d8") (-> "->") (field_identifier "e_ident_data"))) () ")")) ([ "[") (cast_expression "(int)(pEVar51->e_ident_magic_str + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pEVar51->e_ident_magic_str + -1)" (( "(") (binary_expression "pEVar51->e_ident_magic_str + -1" (field_expression "pEVar51->e_ident_magic_str" (identifier "pEVar51") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (number_literal "-1")) () ")"))) (] "]")) (= "=") (call_expression "(byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8)" (( "(") (binary_expression "(uint)(auStack_180._0_4_ - (int)pEVar51) >> 8" (call_expression "(uint)(auStack_180._0_4_ - (int)pEVar51)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(auStack_180._0_4_ - (int)pEVar51)" (( "(") (binary_expression "auStack_180._0_4_ - (int)pEVar51" (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_")) (- "-") (cast_expression "(int)pEVar51" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar51"))) () ")"))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;" (assignment_expression "pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51" (field_expression "pEStack_1b0->e_ident_magic_num" (identifier "pEStack_1b0") (-> "->") (field_identifier "e_ident_magic_num")) (= "=") (binary_expression "(char)auStack_180._0_4_ - (char)pEVar51" (cast_expression "(char)auStack_180._0_4_" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "auStack_180._0_4_" (identifier "auStack_180") (. ".") (field_identifier "_0_4_"))) (- "-") (cast_expression "(char)pEVar51" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "pEVar51")))) (; ";")) (expression_statement "auStack_188._0_4_ = (Elf32_Ehdr *)0x0;" (assignment_expression "auStack_188._0_4_ = (Elf32_Ehdr *)0x0" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);" (assignment_expression "uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" (identifier "uVar13") (= "=") (pointer_expression "*(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" (* "*") (cast_expression "(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1)" (( "(") (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1" (binary_expression "EStack_108.e_ident_magic_str + (int)pEVar48 * 4" (field_expression "EStack_108.e_ident_magic_str" (identifier "EStack_108") (. ".") (field_identifier "e_ident_magic_str")) (+ "+") (binary_expression "(int)pEVar48 * 4" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (* "*") (number_literal "4"))) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "*(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';" (assignment_expression "*(char *)((int)&uStack_8c + (int)pEVar48) = '\x01'" (pointer_expression "*(char *)((int)&uStack_8c + (int)pEVar48)" (* "*") (cast_expression "(char *)((int)&uStack_8c + (int)pEVar48)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&uStack_8c + (int)pEVar48)" (( "(") (binary_expression "(int)&uStack_8c + (int)pEVar48" (cast_expression "(int)&uStack_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&uStack_8c" (& "&") (identifier "uStack_8c"))) (+ "+") (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48"))) () ")")))) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "*(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;" (assignment_expression "*(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13" (pointer_expression "*(short *)&pEVar47->e_version" (* "*") (cast_expression "(short *)&pEVar47->e_version" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar47->e_version" (& "&") (field_expression "pEVar47->e_version" (identifier "pEVar47") (-> "->") (field_identifier "e_version"))))) (= "=") (binary_expression "(short)pEStack_1f4 - (short)uVar13" (cast_expression "(short)pEStack_1f4" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "pEStack_1f4")) (- "-") (cast_expression "(short)uVar13" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar13")))) (; ";")) (goto_statement "goto LAB_000a5944;" (goto "goto") (statement_identifier "LAB_000a5944") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" (else "else") (compound_statement "{\nLAB_000a5944:\n      uVar13 = auStack_144._0_4_;\n      if ((int)pEVar50 <= (int)pEStack_1e8) break;\n    }" ({ "{") (labeled_statement "LAB_000a5944:\n      uVar13 = auStack_144._0_4_;" (statement_identifier "LAB_000a5944") (: ":") (expression_statement "uVar13 = auStack_144._0_4_;" (assignment_expression "uVar13 = auStack_144._0_4_" (identifier "uVar13") (= "=") (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_"))) (; ";"))) (if_statement "if ((int)pEVar50 <= (int)pEStack_1e8) break;" (if "if") (parenthesized_expression "((int)pEVar50 <= (int)pEStack_1e8)" (( "(") (binary_expression "(int)pEVar50 <= (int)pEStack_1e8" (cast_expression "(int)pEVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar50")) (<= "<=") (cast_expression "(int)pEStack_1e8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_1e8"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")))) (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str" (identifier "pEStack_1e8") (= "=") (cast_expression "(Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEStack_1e8->e_ident_magic_str" (identifier "pEStack_1e8") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (if_statement "if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }\n  else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0]))" (( "(") (binary_expression "((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||\n     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])" (parenthesized_expression "((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0))" (( "(") (binary_expression "(pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)" (parenthesized_expression "(pEStack_4c == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "pEStack_4c == (Elf32_Ehdr *)0x0" (identifier "pEStack_4c") (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((short)pEVar26->e_version != 0)" (( "(") (binary_expression "(short)pEVar26->e_version != 0" (cast_expression "(short)pEVar26->e_version" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (field_expression "pEVar26->e_version" (identifier "pEVar26") (-> "->") (field_identifier "e_version"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])" (( "(") (binary_expression "*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0]" (pointer_expression "*(ushort *)(auStack_144._0_4_ + 0x14)" (* "*") (cast_expression "(ushort *)(auStack_144._0_4_ + 0x14)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_144._0_4_ + 0x14)" (( "(") (binary_expression "auStack_144._0_4_ + 0x14" (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x14")) () ")")))) (< "<") (cast_expression "(ushort)pEVar26->e_ident_pad[0]" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (subscript_expression "pEVar26->e_ident_pad[0]" (field_expression "pEVar26->e_ident_pad" (identifier "pEVar26") (-> "->") (field_identifier "e_ident_pad")) ([ "[") (number_literal "0") (] "]")))) () ")"))) () ")")) (compound_statement "{\n    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }\n  }" ({ "{") (if_statement "if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }" (if "if") (parenthesized_expression "(((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0))" (( "(") (binary_expression "((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)" (parenthesized_expression "((char)pEVar7->e_type != '\0')" (( "(") (binary_expression "(char)pEVar7->e_type != '\0'" (cast_expression "(char)pEVar7->e_type" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (field_expression "pEVar7->e_type" (identifier "pEVar7") (-> "->") (field_identifier "e_type"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(puStack_1e0 == (undefined1 *)0x0)" (( "(") (binary_expression "puStack_1e0 == (undefined1 *)0x0" (identifier "puStack_1e0") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;\n      pEVar48 = pEStack_1ec;\n      do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);\n    }" ({ "{") (expression_statement "pEStack_1e8 = (Elf32_Ehdr *)auStack_188;" (assignment_expression "pEStack_1e8 = (Elf32_Ehdr *)auStack_188" (identifier "pEStack_1e8") (= "=") (cast_expression "(Elf32_Ehdr *)auStack_188" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_188"))) (; ";")) (expression_statement "pEVar48 = pEStack_1ec;" (assignment_expression "pEVar48 = pEStack_1ec" (identifier "pEVar48") (= "=") (identifier "pEStack_1ec")) (; ";")) (do_statement "do {\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      } while (pEVar50 != param_2);" (do "do") (compound_statement "{\n        iVar10 = *(int *)pEVar48;\n        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;\n        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;\n        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);\n      }" ({ "{") (expression_statement "iVar10 = *(int *)pEVar48;" (assignment_expression "iVar10 = *(int *)pEVar48" (identifier "iVar10") (= "=") (pointer_expression "*(int *)pEVar48" (* "*") (cast_expression "(int *)pEVar48" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pEVar48")))) (; ";")) (expression_statement "param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;" (assignment_expression "param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str" (identifier "param_2") (= "=") (cast_expression "(Elf32_Ehdr *)param_2->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "param_2->e_ident_magic_str" (identifier "param_2") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)&pEVar48->e_ident_class" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pEVar48->e_ident_class" (& "&") (field_expression "pEVar48->e_ident_class" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_class"))))) (; ";")) (expression_statement "FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);" (call_expression "FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8)" (identifier "FUN_000a20b8") (argument_list "(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,\n                     *(undefined4 *)(iVar10 + 4),pEStack_1e8)" (( "(") (identifier "pEVar7") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar10 + 0x38) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar10 + 0x38) + 8)" (( "(") (binary_expression "*(int *)(iVar10 + 0x38) + 8" (pointer_expression "*(int *)(iVar10 + 0x38)" (* "*") (cast_expression "(int *)(iVar10 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x38)" (( "(") (binary_expression "iVar10 + 0x38" (identifier "iVar10") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (, ",") (number_literal "5") (, ",") (pointer_expression "*(undefined4 *)(iVar10 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar10 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 4)" (( "(") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "pEStack_1e8") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pEVar50 != param_2)" (( "(") (binary_expression "pEVar50 != param_2" (identifier "pEVar50") (!= "!=") (identifier "param_2")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" (else "else") (compound_statement "{\n    auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }\n  }" ({ "{") (expression_statement "auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);" (assignment_expression "auStack_188._0_4_ =\n         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff)" (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff)" (parenthesized_expression "(*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910)" (* "*") (cast_expression "(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar53 + 0xb7620) + -0x5910)" (( "(") (binary_expression "*(int *)(puVar53 + 0xb7620) + -0x5910" (pointer_expression "*(int *)(puVar53 + 0xb7620)" (* "*") (cast_expression "(int *)(puVar53 + 0xb7620)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar53 + 0xb7620)" (( "(") (binary_expression "puVar53 + 0xb7620" (identifier "puVar53") (+ "+") (number_literal "0xb7620")) () ")")))) (+ "+") (number_literal "-0x5910")) () ")")))) () ")")) (argument_list "(auStack_144._0_4_,0xffffffff)" (( "(") (field_expression "auStack_144._0_4_" (identifier "auStack_144") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_000a25bc(uVar13,pEVar26,auStack_188);\n      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }\n    }" ({ "{") (expression_statement "FUN_000a25bc(uVar13,pEVar26,auStack_188);" (call_expression "FUN_000a25bc(uVar13,pEVar26,auStack_188)" (identifier "FUN_000a25bc") (argument_list "(uVar13,pEVar26,auStack_188)" (( "(") (identifier "uVar13") (, ",") (identifier "pEVar26") (, ",") (identifier "auStack_188") () ")"))) (; ";")) (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n        FUN_000a3c84(uVar13,auStack_188);\n      }" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_000a3c84(uVar13,auStack_188);\n      }" ({ "{") (expression_statement "FUN_000a3c84(uVar13,auStack_188);" (call_expression "FUN_000a3c84(uVar13,auStack_188)" (identifier "FUN_000a3c84") (argument_list "(uVar13,auStack_188)" (( "(") (identifier "uVar13") (, ",") (identifier "auStack_188") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "pEVar48 = pEVar50;" (assignment_expression "pEVar48 = pEVar50" (identifier "pEVar48") (= "=") (identifier "pEVar50")) (; ";")) (while_statement "while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }" (while "while") (parenthesized_expression "(pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc)" (( "(") (comma_expression "pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc" (assignment_expression "pEVar51 = pEVar26" (identifier "pEVar51") (= "=") (identifier "pEVar26")) (, ",") (comma_expression "pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc" (assignment_expression "pEVar54 = pEVar7" (identifier "pEVar54") (= "=") (identifier "pEVar7")) (, ",") (binary_expression "(int)pEVar48 < (int)pcStack_1bc" (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")) (< "<") (cast_expression "(int)pcStack_1bc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcStack_1bc"))))) () ")")) (compound_statement "{\n    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }\n  }" ({ "{") (if_statement "if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }\n    else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" (if "if") (parenthesized_expression "((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0)" (( "(") (binary_expression "(Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0" (cast_expression "(Elf32_Ehdr *)auStack_188._0_4_" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_188._0_4_" (identifier "auStack_188") (. ".") (field_identifier "_0_4_"))) (== "==") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      ppEVar43 = ppEStack_1dc + (int)pEVar48;\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n      FUN_000a3c84(*ppEVar43,auStack_188);\n    }" ({ "{") (expression_statement "ppEVar43 = ppEStack_1dc + (int)pEVar48;" (assignment_expression "ppEVar43 = ppEStack_1dc + (int)pEVar48" (identifier "ppEVar43") (= "=") (binary_expression "ppEStack_1dc + (int)pEVar48" (identifier "ppEStack_1dc") (+ "+") (cast_expression "(int)pEVar48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEVar48")))) (; ";")) (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (expression_statement "FUN_000a3c84(*ppEVar43,auStack_188);" (call_expression "FUN_000a3c84(*ppEVar43,auStack_188)" (identifier "FUN_000a3c84") (argument_list "(*ppEVar43,auStack_188)" (( "(") (pointer_expression "*ppEVar43" (* "*") (identifier "ppEVar43")) (, ",") (identifier "auStack_188") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" (else "else") (compound_statement "{\n      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;\n    }" ({ "{") (expression_statement "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;" (assignment_expression "pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str" (identifier "pEVar48") (= "=") (cast_expression "(Elf32_Ehdr *)pEVar48->e_ident_magic_str" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "pEVar48->e_ident_magic_str" (identifier "pEVar48") (-> "->") (field_identifier "e_ident_magic_str")))) (; ";")) (} "}")))) (} "}"))) (goto_statement "goto LAB_000a443c;" (goto "goto") (statement_identifier "LAB_000a443c") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x000a4d64) */
/* WARNING: Removing unreachable block (ram,0x000a4d8c) */
/* WARNING: Removing unreachable block (ram,0x000a4f54) */
/* WARNING: Type propagation algorithm not settling */

void function_1(type_1 *var_64,int var_18,type_2 *var_17,int var_4,type_2 *var_21,type_3 var_2,int *pRC)

{
  type_4 var_61;
  type_5 var_26;
  type_5 var_36;
  type_5 uVar4;
  bool bVar5;
  type_6 var_29;
  type_7 aVar7;
  type_8 extraout_var;
  type_8 extraout_var_00;
  type_8 extraout_var_01;
  type_9 cVar24;
  type_10 *pBVar8;
  type_2 var_19;
  type_9 *var_14;
  type_3 *pPVar10;
  type_2 *var_24;
  type_6 *var_49;
  type_11 uVar22;
  short *psVar13;
  type_12 uVar14;
  type_6 *var_53;
  type_13 **var_34;
  int var_42;
  type_10 *var_70;
  int var_43;
  type_14 *pPVar21;
  short sVar23;
  type_9 cVar29;
  type_6 var_25;
  type_3 var_38;
  type_15 *var_58;
  type_10 *extraout_v1;
  type_6 var_8;
  type_10 *pTo;
  int var_6;
  type_16 uVar32;
  type_6 *var_54;
  type_17 *var_37;
  type_18 *puVar35;
  type_19 *var_62;
  type_13 *psVar37;
  type_8 *var_56;
  type_4 *var_30;
  int var_44;
  int *var_55;
  type_2 *var_68;
  type_9 *pcVar43;
  type_9 *pcVar44;
  type_10 *pBVar45;
  type_5 *var_73;
  type_10 *pBVar47;
  type_9 cVar48;
  type_13 **var_35;
  type_4 *var_69;
  type_10 *var_12;
  type_10 *var_57;
  type_10 *var_3;
  type_10 *var_50;
  type_10 *pBVar55;
  type_20 *var_10;
  type_10 *var_51;
  type_10 *var_11;
  type_21 *var_23;
  type_22 *p_Var58;
  type_13 *var_52;
  type_10 *var_60;
  type_9 *var_7;
  type_10 *pBStack_1f4;
  type_10 *var_66;
  type_10 *pBStack_1ec;
  type_10 *var_63;
  type_9 *var_39;
  type_10 **var_65;
  type_13 **var_28;
  int *var_16;
  type_10 *pBStack_1d4;
  int var_45;
  type_10 *pBStack_1c8;
  type_10 *var_46;
  type_4 *var_41;
  type_10 *var_40;
  type_10 *pBStack_1b8;
  type_10 *pBStack_1b0;
  type_10 *pBStack_1a8;
  type_10 *var_33;
  type_13 *var_59;
  type_10 *apBStack_180 [7];
  type_13 *var_27 [2];
  type_8 auStack_15c [4];
  type_13 *psStack_154;
  type_13 *var_47 [4];
  int aiStack_140 [4];
  type_4 var_67 [20];
  type_4 var_71 [16];
  type_2 var_32 [4];
  type_14 *apPStack_108 [5];
  type_6 auStack_f4 [5];
  type_6 auStack_e0 [5];
  type_6 var_72 [16];
  type_4 abStack_8c [68];
  int var_15;
  type_16 var_22;
  type_6 *puVar16;
  
  var_57 = (type_10 *)PTR___stack_chk_guard_0015ba2c;
  var_3 = (type_10 *)(type_6)var_64->nOverflow;
  var_22 = *(type_16 *)PTR___stack_chk_guard_0015ba2c;
  cVar48 = var_1(var_2 >> 8,0);
  cVar24 = var_1(var_2 >> 0x10,0);
  cVar29 = var_1(var_2 >> 0x18,0);
  var_12 = (type_10 *)var_18;
  var_16 = (int *)var_17;
  var_55 = (int *)var_4;
  if ((var_3 == (type_10 *)0x0) && (var_4 + 1 < (int)(type_6)var_64->nFree)) {
    pTo = (type_10 *)var_64->pDbPage;
    var_6 = var_5((type_23 *)pTo);
    if (var_6 == 0) {
      var_8 = (type_6)var_64->hdrOffset;
      var_7 = (type_9 *)var_64->aData;
      var_12 = (type_10 *)(type_6)var_64->cellOffset;
      var_15 = 0;
      pcVar44 = var_7 + var_8 + 5;
      pcVar43 = var_7 + var_8 + 6;
      var_11 = (type_10 *)((int)&var_12->iSize + (type_6)var_64->nCell * 2);
      var_10 = (type_20 *)(type_6)var_9(*pcVar44,*pcVar43);
      if (var_10 < var_11) {
        if (((type_10 *)var_10 == (type_10 *)0x0) &&
           (var_12 = (type_10 *)var_64->pBt->usableSize, var_12 == (type_10 *)&Elf32_Ehdr_00010000))
        {
          var_10 = &Elf32_Ehdr_00010000;
          goto LAB_000a3e78;
        }
        pTo = (type_10 *)0xfcb0;
        var_6 = (*(type_9 *)(var_13 + -0x75c0))();
        if (var_6 != 0) goto LAB_000a3fdc;
        var_11 = (type_10 *)0x0;
        var_10 = (type_20 *)0x0;
        var_14 = var_7;
      }
      else {
LAB_000a3e78:
        if (((var_7[var_8 + 2] != (type_9)0x0) || (var_7[var_8 + 1] != (type_9)0x0)) &&
           ((type_10 *)((int)&var_11->iSize + 1) < var_10)) {
          var_16 = &var_15;
          pTo = (type_10 *)var_64;
          var_12 = (type_10 *)var_4;
          var_14 = (type_9 *)(*(type_9 *)(var_13 + -0x5a84))();
          if (var_14 != (type_9 *)0x0) {
            var_10 = (type_20 *)(var_14 + -(int)var_7);
            var_3 = (type_10 *)((type_6)((int)var_10 * 0x10000) >> 0x18);
            var_11 = (type_10 *)((type_6)var_10 & 0xff);
            goto LAB_000a3ec4;
          }
          var_6 = var_15;
          if (var_15 != 0) goto LAB_000a3fdc;
        }
        if ((int)var_10 < (int)((int)&var_11->iSize + var_4 + 2)) {
          pBVar8 = (type_10 *)((type_6)var_64->nFree - (var_4 + 2));
          var_16 = (int *)(type_6)((int)pBVar8 < 5);
          var_12 = (type_10 *)&DAT_00000004;
          if (var_16 != (int *)0x0) {
            var_12 = pBVar8;
          }
          pTo = (type_10 *)var_64;
          var_15 = (*(type_9 *)(var_13 + -0x5910))();
          var_6 = var_15;
          if (var_15 != 0) goto LAB_000a3fdc;
          var_10 = (type_20 *)((var_9(*pcVar44,*pcVar43) - 1 & 0xffff) + 1);
        }
        var_10 = (type_20 *)((int)var_10 - var_4);
        var_3 = (type_10 *)((type_6)((int)var_10 * 0x10000) >> 0x18);
        var_11 = (type_10 *)((type_6)var_10 & 0xff);
        *pcVar44 = var_1((type_6)var_10 >> 8,0);
        *pcVar43 = var_1(var_10,0);
        var_14 = var_7 + (int)var_10;
      }
LAB_000a3ec4:
      var_64->nFree = (var_64->nFree - (short)var_4) - 2;
      if (var_2 == 0) {
        (*(type_9 *)PTR_memcpy_0015ba30)(var_14,var_17,var_4);
        var_55 = (int *)var_4;
      }
      else {
        var_10 = (type_20 *)&((type_10 *)var_10)->nSet;
        (*(type_9 *)PTR_memcpy_0015ba30)(var_7 + (int)var_10,var_17 + 4,var_4 + -4);
        var_14[3] = var_1(var_2,0);
        *var_14 = cVar29;
        var_14[1] = cVar24;
        var_14[2] = cVar48;
        var_55 = (int *)var_4;
      }
      var_2 = (type_3)(var_64->aCellIdx + var_18 * 2);
      var_16 = (int *)(((type_6)var_64->nCell - var_18) * 2);
      var_12 = (type_10 *)var_2;
      (*(type_9 *)PTR_memmove_0015ba3c)((type_4 *)((int)&((type_10 *)var_2)->iSize + 2));
      *(type_4 *)&((type_10 *)var_2)->iSize = (type_4)var_3;
      *(type_4 *)((int)&((type_10 *)var_2)->iSize + 1) = (type_4)var_11;
      pTo = (type_10 *)(var_7 + var_64->hdrOffset + 4);
      var_64->nCell = var_64->nCell + 1;
      var_19 = *(type_2 *)&pTo->iSize + '\x01';
      *(type_2 *)&pTo->iSize = var_19;
      if (var_19 == '\0') {
        var_7[var_64->hdrOffset + 3] = (type_9)((char)var_7[var_64->hdrOffset + 3] + '\x01');
      }
      if (var_64->pBt->autoVacuum != '\0') {
        var_12 = (type_10 *)&var_64->aDataEnd;
        pTo = (type_10 *)var_64;
        var_16 = (int *)var_17;
        var_55 = pRC;
        var_20(var_64,(type_1 *)var_12,var_17,pRC);
      }
    }
    else {
LAB_000a3fdc:
      *pRC = var_6;
    }
  }
  else {
    pBVar8 = (type_10 *)var_17;
    if (var_21 != (type_2 *)0x0) {
      pBVar8 = (type_10 *)(*(type_9 *)PTR_memcpy_0015ba30)(var_21);
      var_12 = (type_10 *)var_17;
      var_16 = (int *)var_4;
    }
    if (var_2 != 0) {
      *(type_9 *)((int)&pBVar8->iSize + 3) = var_1(var_2,0);
      var_2 = var_2 >> 8;
      *(type_9 *)&pBVar8->iSize = cVar29;
      *(type_9 *)((int)&pBVar8->iSize + 1) = cVar24;
      *(type_9 *)((int)&pBVar8->iSize + 2) = cVar48;
    }
    var_8 = (type_6)var_64->nOverflow;
    pTo = (type_10 *)(var_8 + 1);
    var_64->nOverflow = (type_2)pTo;
    var_64->apOvfl[var_8] = (type_2 *)pBVar8;
    var_64->aiOvfl[var_8] = (type_11)var_18;
    var_17 = (type_2 *)pBVar8;
  }
  if (var_22 == var_57->iSize) {
    return;
  }
  var_7 = balance_nonroot;
  var_23 = PTR___stack_chk_fail_0015ba10;
  (*(type_9 *)PTR___stack_chk_fail_0015ba10)();
  pPVar10 = *(type_3 **)(var_23 + 0xb790c);
  abStack_8c._44_4_ = pRC;
  abStack_8c._24_4_ = var_57;
  var_33 = (type_10 *)0x0;
  abStack_8c._0_4_ = (type_24 *)0x0;
  abStack_8c[4] = '\0';
  var_72[0] = 0;
  var_72[2] = 0;
  abStack_8c._8_4_ = *pPVar10;
  pBVar8 = (pTo->u).apSub[10];
  abStack_8c._12_4_ = var_64;
  abStack_8c._16_4_ = var_2;
  abStack_8c._20_4_ = var_17;
  abStack_8c._28_4_ = var_3;
  abStack_8c._32_4_ = var_18;
  abStack_8c._36_4_ = var_10;
  abStack_8c._40_4_ = var_11;
  abStack_8c._48_4_ = var_7;
  abStack_8c._56_4_ = var_12;
  abStack_8c._64_4_ = var_55;
  if (var_16 == (int *)0x0) goto LAB_000a44d0;
  var_8 = (type_6)*(type_11 *)((int)&pTo->u + 10);
  var_3 = (type_10 *)((pTo->u).aBitmap[0] + var_8);
  if (var_3 < (type_10 *)0x2) {
    var_24 = (type_2 *)(pTo->u).apSub[0xb];
    abStack_8c._56_4_ = (type_10 *)0x0;
    pBStack_1d4 = var_3;
LAB_000a49d0:
    pBStack_1c8 = (type_10 *)(var_24 + *(type_2 *)((int)&pTo->iDivisor + 1) + 8);
  }
  else {
    pBStack_1d4 = (type_10 *)0xffe9ca52;
    var_50 = pBStack_1d4;
    if (var_12 != (type_10 *)0x0) {
      if (var_3 == var_12) {
        var_50 = var_12;
        abStack_8c._56_4_ = (type_10 *)((int)&var_12[0xb1a].u + 0x1a2);
      }
      else {
        var_50 = (type_10 *)((int)&var_12[-0xb1b].u + 0x45);
        abStack_8c._56_4_ = (type_10 *)((int)&var_12[-1].u + 499);
      }
    }
    var_25 = (int)var_50 - (type_6)(pTo->u).aBitmap[0];
    var_24 = (type_2 *)(pTo->u).apSub[0xb];
    if (var_8 == var_25) goto LAB_000a49d0;
    var_26 = *(type_11 *)((int)&pTo->u + 0xc);
    var_8 = (type_6)var_26;
    pBStack_1c8 = (type_10 *)
                  (var_24 + (*(type_5 *)((type_2 *)(pTo->u).aHash[0xd] + var_25 * 2) & var_26));
  }
  var_28 = var_27 + 5;
  var_46 = (type_10 *)var_27;
  var_65 = &var_33;
  var_45 = (int)pBStack_1d4 * 4;
  var_25 = (type_6)pBStack_1c8 & 3;
  var_34 = var_28 + (int)pBStack_1d4;
  var_35 = (type_13 **)(&var_46->iSize + (int)pBStack_1d4);
  var_66 = (type_10 *)(*(int *)(var_23 + 0xb7620) + -0x6acc);
  pBStack_1f4 = (type_10 *)0x0;
  pBStack_1ec = (type_10 *)apPStack_108;
  var_30 = (type_4 *)((int)&pBStack_1c8->iSize + 3);
  var_29 = (type_6)var_30 & 3;
  var_59 = (type_13 *)
                ((*(int *)((int)pBStack_1c8 - var_25) << var_25 * 8 |
                 var_8 & 0xffffffffU >> (4 - var_25) * 8) & -1 << (var_29 + 1) * 8 |
                *(type_6 *)(var_30 + -var_29) >> (3 - var_29) * 8);
  var_39 = (type_9 *)(*(int *)(var_23 + 0xb7620) + -0x5c68);
  var_12 = pBStack_1d4;
  while( true ) {
    var_18 = (*(type_9 *)var_66)(pBVar8,var_59,var_34,0,0);
    var_3 = (type_10 *)((int)var_12 * 4);
    var_50 = (type_10 *)var_18;
    var_51 = pTo;
    var_60 = pBVar8;
    var_70 = pBStack_1d4;
    var_33 = (type_10 *)var_18;
    if ((type_10 *)var_18 != (type_10 *)0x0) break;
    var_12 = (type_10 *)((int)&var_12[-1].u + 499);
    pBStack_1f4 = (type_10 *)
                  ((int)&pBStack_1f4->iSize +
                  *(type_5 *)((int)&(*var_34)->pAppData + 2) + 1 +
                  (type_6)*(type_4 *)&(*var_34)->pNext);
    var_11 = (type_10 *)var_18;
    if (var_12 == (type_10 *)0xffffffff) {
      var_57 = (type_10 *)((type_6)((int)&pBStack_1f4->iSize + 3) & 0xfffffffc);
      var_72[2] =
           (*(type_9 *)(*(int *)(var_23 + 0xb75b8) + -0x5ca0))
                     ((int)((int)var_57 * 6 + (pBVar8->u).aHash[5]) >> 0x1f);
      if ((type_10 *)var_72[2] == (type_10 *)0x0) {
        var_33 = (type_10 *)&DAT_00000007;
        goto LAB_000a4454;
      }
      var_41 = var_71;
      var_72[3] = (type_6)(&((type_10 *)var_72[2])->iSize + (int)var_57);
      var_72[1] = (type_6)var_47[0];
      pBStack_1f4 = (type_10 *)((int)&((type_10 *)var_72[3])->iSize + (int)var_57 * 2);
      var_39 = (type_9 *)(type_6)*(type_4 *)((int)&var_47[0]->iVersion + 3);
      var_40 = (type_10 *)((int)&pBStack_1d4->iSize + 1);
      var_65 = (type_10 **)((type_6)*(type_4 *)&var_47[0]->mxPathname * 4);
      var_57 = ((type_7 *)&var_47[0]->pNext)->apSub[0xb];
      var_3 = (type_10 *)
                ((int)&var_57->iSize + (type_6)*(type_5 *)((int)&var_47[0]->pNext + 6));
      var_60 = (type_10 *)0x0;
      var_51 = (type_10 *)0x0;
      var_26 = *(type_5 *)((int)&var_47[0]->pNext + 10);
      var_36 = *(type_5 *)((int)&var_47[0]->pNext + 0xc);
      var_50 = (type_10 *)var_47[0];
      var_30 = var_41;
      var_12 = var_40;
      if (*(char *)&var_57->iSize ==
          *(char *)&((type_7 *)&var_47[0]->pNext)->apSub[0xb]->iSize)
      goto LAB_000a45ec;
      goto LAB_000a46e0;
    }
    p_Var58 = (type_22 *)(pTo->u).aHash[0x10];
    var_30 = (type_4 *)((int)&var_12->iSize + abStack_8c._56_4_);
    if (((pTo->u).aBitmap[0] == 0) || ((type_18 *)(type_6)*(type_11 *)((int)&pTo->u + 0xe) != var_30))
    {
      var_57 = (type_10 *)
                ((int)(pTo->u).apSub[0xb] +
                (type_6)(*(type_5 *)
                        ((type_2 *)(pTo->u).aHash[0xd] + ((int)var_30 - (type_6)(pTo->u).aBitmap[0]) * 2)
                      & *(type_11 *)((int)&pTo->u + 0xc)));
      var_35[-1] = (type_13 *)var_57;
      var_59 = (type_13 *)var_57->iSize;
      uVar22 = (*p_Var58)((type_1 *)pTo,(type_2 *)var_57);
      pBVar47 = (type_10 *)var_31(extraout_var,uVar22);
      aVar7 = pBVar8->u;
      *(type_10 **)(var_32 + (int)var_3) = pBVar47;
      if ((type_18  [500])((type_18  [500])aVar7 & (type_18  [500])0xc) !=
          (type_18  [500])0x0) {
        var_6 = (int)var_57 - (int)(pTo->u).aHash[0xb];
        if ((int)(pBVar8->u).aHash[6] < (int)((int)pBVar47 + var_6)) {
          var_33 = (type_10 *)
                        (*(type_9 *)(*(int *)(var_23 + 0xb7620) + -0x75c0))
                                  (0x113c2,(pBVar8->u).aHash[6],pBVar47);
          (**(type_9 **)(var_23 + 0xb786c))(var_28,0,var_3,0xc);
          pBStack_1f4 = var_3;
          goto LAB_000a443c;
        }
        (**(type_9 **)(var_23 + 0xb7910))((type_2 *)((int)var_16 + var_6),var_57);
        var_35[-1] = (type_13 *)((int)var_16 + ((int)var_57 - (int)(pTo->u).aHash[0xb]))
        ;
        var_63 = pBVar47;
      }
      if (var_33 == (type_10 *)0x0) {
        (*var_39)(pTo,(int)var_30 - (type_6)(pTo->u).aBitmap[0],pBVar47,var_65);
      }
    }
    else {
      var_49 = &(pTo->u).apSub[6]->iSize;
      var_35[-1] = (type_13 *)var_49;
      var_59 = (type_13 *)*var_49;
      uVar22 = (*p_Var58)((type_1 *)pTo,(type_2 *)var_49);
      (pTo->u).aBitmap[0] = '\0';
      *(type_6 *)(var_32 + (int)var_3) = var_31(extraout_var_00,uVar22);
    }
    var_34 = var_34 + -1;
    var_35 = var_35 + -1;
  }
  (**(type_9 **)(var_23 + 0xb786c))(var_28,0,(int)((int)&var_12->iSize + 1) * 4,0xc);
  var_11 = (type_10 *)0x0;
  goto LAB_000a443c;
LAB_000a45ec:
  (**(type_9 **)(var_23 + 0xb7894))
            ((int)(type_12 *)var_72[3] + var_72[0] * 2,0,
             ((type_6)(var_50->u).aBitmap[0] + (type_6)var_26) * 2);
  if ((var_50->u).aBitmap[0] == '\0') {
LAB_000a4624:
    var_26 = *(type_5 *)((int)&var_50->u + 10);
  }
  else {
    var_8 = (type_6)*(type_5 *)((int)&var_50->u + 0xe);
    if (var_8 != 0) {
      var_34 = (type_13 **)&var_3->iSize;
      do {
        var_35 = (type_13 **)&var_3->iSize;
        var_3 = (type_10 *)((int)&var_3->iSize + 2);
        ((type_12 *)var_72[2])[var_72[0]] =
             (int)&var_57->iSize + (type_6)(var_36 & *(type_5 *)var_35);
        var_72[0] = (type_6)(var_72[0] + 1);
      } while (var_3 != (type_10 *)((int)var_34 + var_8 * 2));
      if ((var_50->u).aBitmap[0] == '\0') goto LAB_000a4624;
    }
    var_37 = (type_17 *)((var_50->u).aHash + 6);
    var_6 = 0;
    do {
      uVar14 = *(type_12 *)var_37;
      var_6 = var_6 + 1;
      var_37 = var_37 + 2;
      ((type_12 *)var_72[2])[var_72[0]] = uVar14;
      var_72[0] = (type_6)((int)(type_12 *)var_72[0] + 1);
    } while (var_6 < (int)(type_6)(var_50->u).aBitmap[0]);
    var_26 = *(type_5 *)((int)&var_50->u + 10);
  }
  uVar4 = *(type_5 *)((int)&var_50->u + 6);
  var_38 = var_72[0];
  for (; var_3 < (type_10 *)((int)&var_57->iSize + (type_6)var_26 * 2 + (type_6)uVar4);
      var_3 = (type_10 *)((int)&var_3->iSize + 2)) {
    ((type_12 *)var_72[2])[var_38] =
         (int)&var_57->iSize + (type_6)(var_36 & *(type_5 *)&var_3->iSize);
    var_72[0] = var_38 + 1;
    var_38 = var_72[0];
  }
  var_72[0] = var_38;
  *(type_3 *)var_30 = var_38;
  if (((int)var_60 < (int)pBStack_1d4) && (var_39 == (type_9 *)0x0)) {
    var_7 = *(type_9 **)(var_23 + 0xb7910);
    psVar37 = (type_13 *)(&((type_10 *)apPStack_108)->iSize)[(int)var_60];
    var_52 = (type_13 *)(&var_46->iSize)[(int)var_60];
    var_8 = (type_6)psVar37 & 0xffff;
    var_34 = (type_13 **)&var_51->iSize;
    *(short *)((int)(type_12 *)var_72[3] + var_38 * 2) = (short)psVar37;
    var_51 = (type_10 *)((int)&var_51->iSize + var_8);
    var_6 = (*var_7)((type_4 *)((int)var_34 + (int)&pBStack_1f4->iSize),var_52,var_8);
    ((type_12 *)var_72[2])[var_72[0]] = var_6 + (int)var_65;
    psVar13 = (short *)((int)(type_12 *)var_72[3] + var_72[0] * 2);
    *psVar13 = *psVar13 - (short)var_65;
    if (*(type_4 *)&var_50->iDivisor == 0) {
      *(type_12 *)((type_12 *)var_72[2])[var_72[0]] = (var_50->u).apSub[0xb]->iDivisor;
LAB_000a4864:
      var_72[0] = (type_6)((int)(type_12 *)var_72[0] + 1);
    }
    else {
      if (3 < *(type_5 *)((int)(type_12 *)var_72[3] + var_72[0] * 2)) goto LAB_000a4864;
      do {
        var_51 = (type_10 *)((int)&var_51->iSize + 1);
        *(type_4 *)((int)var_51 + (int)((int)&pBStack_1f4->iSize + -1)) = 0;
        psVar13 = (short *)((int)(type_12 *)var_72[3] + var_72[0] * 2);
        *psVar13 = *psVar13 + 1;
      } while (*(type_5 *)((int)(type_12 *)var_72[3] + var_72[0] * 2) < 4);
      var_72[0] = (type_6)((int)(type_12 *)var_72[0] + 1);
    }
    if ((type_10 *)((int)&var_60->iSize + 1) == var_40) goto LAB_000a487c;
LAB_000a46ac:
    var_34 = (type_13 **)&var_60->iSize;
    var_60 = (type_10 *)((int)var_34 + 1);
    var_30 = var_30 + 4;
    var_50 = (type_10 *)var_47[(int)((int)var_34 + 1)];
    var_57 = (var_50->u).apSub[0xb];
    var_26 = *(type_5 *)((int)&var_50->u + 10);
    var_3 = (type_10 *)((int)&var_57->iSize + (type_6)*(type_5 *)((int)&var_50->u + 6));
    var_36 = *(type_5 *)((int)&var_50->u + 0xc);
    if (*(char *)&var_57->iSize !=
        *(char *)&((type_7 *)&var_47[0]->pNext)->apSub[0xb]->iSize)
    goto LAB_000a46e0;
    goto LAB_000a45ec;
  }
  if ((type_10 *)((int)&var_60->iSize + 1) != var_40) goto LAB_000a46ac;
LAB_000a487c:
  pBStack_1f4 = (type_10 *)((int)var_65 + ((int)(pBVar8->u).apSub[6] - 0xcU));
  var_42 = 0;
  pBStack_1a8 = (type_10 *)var_67;
  var_3 = (type_10 *)apPStack_108;
  var_6 = 0;
  var_57 = (type_10 *)var_47[0];
  while( true ) {
    var_8 = (var_57->u).aHash[0xc];
    var_25 = *(type_6 *)(var_41 + var_6);
    var_72[var_42 + 10] = var_25;
    var_72[var_42 + 4] = var_8;
    var_43 = var_42 + 1;
    if (var_39 == (type_9 *)0x0) {
      var_72[var_42 + 5] = (type_6)(pTo->u).aHash[0xc];
      var_72[var_42 + 0xb] = var_25 + 1;
      var_43 = var_42 + 2;
    }
    var_42 = var_43;
    var_19 = (var_57->u).aBitmap[0];
    var_52 = (type_13 *)((int)pBStack_1f4 - (type_6)*(type_5 *)((int)&var_57->u + 8));
    var_3->iSize = (type_12)var_52;
    if (var_19 != '\0') {
      var_37 = (type_17 *)((var_57->u).aHash + 6);
      var_43 = 0;
      do {
        uVar32 = *(type_16 *)var_37;
        var_43 = var_43 + 1;
        var_37 = var_37 + 2;
        var_44 = (*(type_9 *)(var_57->u).aHash[0x10])(var_57,uVar32);
        var_61 = (var_57->u).aBitmap[0];
        var_52 = (type_13 *)((int)var_52 + 0x68 + var_44 + -0x66);
        var_3->iSize = (type_12)var_52;
      } while (var_43 < (int)(type_6)var_61);
    }
    *(type_6 *)((int)&pBStack_1a8->iSize + var_6) = var_25;
    if (var_45 == var_6) break;
    var_3 = (type_10 *)&var_3->nSet;
    var_57 = *(type_10 **)((int)var_47 + var_6 + 4);
    var_6 = var_6 + 4;
  }
  var_63 = (type_10 *)var_72;
  pBStack_1ec = (type_10 *)(*(int *)(var_23 + 0xb753c) + -0x14d8);
  var_57 = (type_10 *)0x1;
  var_3 = (type_10 *)0x2;
  var_70 = pBStack_1a8;
  var_60 = (type_10 *)apPStack_108;
  var_66 = (type_10 *)0x0;
  while( true ) {
    var_46 = (type_10 *)((int)&var_57[-1].u + 499);
    pBStack_1b8 = (type_10 *)0x0;
    var_50 = var_12;
    pBVar47 = var_12;
    var_51 = var_70;
    pBStack_1b0 = pBVar8;
    if ((int)pBStack_1f4 < (int)var_60->iSize) {
      do {
        var_12 = var_50;
        if ((int)pBVar47 <= (int)var_57) {
          if (var_3 == (type_10 *)&DAT_00000006) {
            uVar32 = 0x11477;
            var_50 = (type_10 *)&DAT_00000006;
            pBStack_1d4 = pBStack_1a8;
            pBStack_1b8 = var_46;
            goto LAB_000a46ec;
          }
          var_60->nSet = 0;
          var_70->nSet = var_72[0];
          pBVar47 = var_3;
        }
        var_12 = pBVar47;
        var_51 = (type_10 *)var_70->iSize;
        var_50 = (type_10 *)((int)&var_51[-1].u + 499);
        pBVar47 = (type_10 *)((int)&var_51[-1].u * 2 + 0x3e6);
        var_8 = (type_6)*(type_5 *)
                        ((int)pBVar47 + (int)&((type_10 *)(var_72[3] + 0x200))->u + -0x20c);
        if (var_8 == 0) {
          var_8 = (*(type_9 *)pBStack_1ec)(var_63,var_50);
          var_66 = pBVar47;
        }
        var_6 = var_8 + 2;
        var_52 = (type_13 *)((int)var_60->iSize - var_6);
        var_60->iSize = (type_12)var_52;
        if (((var_39 == (type_9 *)0x0) && (var_6 = 0, (int)var_51 < (int)var_72[0])) &&
           (var_8 = (type_6)*(type_5 *)
                            ((int)pBVar47 + (int)&((type_10 *)(var_72[3] + 0x200))->u + -0x20a),
           var_6 = var_8 + 2, var_8 == 0)) {
          var_6 = (*(type_9 *)pBStack_1ec)(var_63,var_51);
          var_6 = var_6 + 2;
        }
        var_38 = var_60->nSet;
        var_70->iSize = (type_12)var_50;
        var_60->nSet = var_38 + var_6;
        pBVar47 = var_12;
      } while ((int)pBStack_1f4 < (int)var_52);
    }
    else {
      var_50 = (type_10 *)var_70->iSize;
    }
    puVar35 = (type_18 *)var_72[0];
    if ((int)var_72[0] <= (int)var_50) break;
    while( true ) {
      var_6 = (int)var_50 * 2;
      var_8 = (type_6)*(type_5 *)((int)(type_12 *)var_72[3] + var_6);
      if (var_8 == 0) {
        var_8 = (*(type_9 *)pBStack_1ec)(var_63,var_50);
        puVar35 = (type_18 *)var_72[0];
      }
      var_42 = var_8 + 2;
      var_52 = (type_13 *)((int)var_60->iSize + 0x68 + (var_8 - 0x66));
      if ((int)pBStack_1f4 < (int)var_52) break;
      var_50 = (type_10 *)((int)&var_50->iSize + 1);
      var_60->iSize = (type_12)var_52;
      var_70->iSize = (type_12)var_50;
      bVar5 = (int)var_50 < (int)puVar35;
      if (var_39 == (type_9 *)0x0) {
        if (!bVar5) goto LAB_000a4c3c;
        var_8 = (type_6)*(type_5 *)((int)(type_12 *)var_72[3] + var_6 + 2);
        var_42 = var_8 + 2;
        if (var_8 == 0) {
          var_42 = (*(type_9 *)pBStack_1ec)(var_63,var_50);
          bVar5 = (int)var_50 < (int)var_72[0];
          var_42 = var_42 + 2;
          puVar35 = (type_18 *)var_72[0];
        }
      }
      var_60->nSet = var_60->nSet - var_42;
      if (!bVar5) goto LAB_000a4c3c;
    }
    if ((int)puVar35 <= (int)var_50) break;
    uVar14 = 0;
    if (var_46 != (type_10 *)0x0) {
      uVar14 = var_70[-1].u.aHash[0x7c];
    }
    bVar5 = (int)var_12 <= (int)var_57;
    var_66 = var_12;
    if ((int)var_50 <= (int)uVar14) {
      uVar32 = 0x11498;
      var_51 = var_70;
      pBStack_1d4 = pBStack_1a8;
      pBStack_1b8 = var_46;
      goto LAB_000a46ec;
    }
    var_57 = (type_10 *)((int)&var_57->iSize + 1);
    var_60 = (type_10 *)&var_60->nSet;
    var_70 = (type_10 *)&var_70->nSet;
    var_3 = (type_10 *)((int)&var_3->iSize + 1);
    if (bVar5) {
      var_46 = (type_10 *)((int)&var_12[-1].u + 499);
      var_57 = var_12;
      break;
    }
  }
LAB_000a4c3c:
  if (var_46 == (type_10 *)0x0) {
LAB_000a4ef4:
    pBStack_1ec = (type_10 *)(var_47 + 3);
    var_63 = (type_10 *)(*(int *)(var_23 + 0xb75e4) + 0x1660);
    var_70 = (type_10 *)(*(int *)(var_23 + 0xb7620) + -0x7474);
    var_46 = *(type_10 **)(var_23 + 0xb75e4);
    var_61 = *(type_4 *)&((type_7 *)&var_47[0]->pNext)->apSub[0xb]->
                      iSize;
    var_66 = (type_10 *)(type_6)var_61;
    var_3 = pBStack_1ec;
    var_50 = (type_10 *)0x0;
    do {
      var_12 = var_50;
      var_50 = (type_10 *)&var_59;
      if ((int)var_12 < (int)var_40) {
        apBStack_180[0] = (type_10 *)var_28[(int)var_12];
        var_28[(int)var_12] = (type_13 *)0x0;
        var_3->iSize = (type_12)apBStack_180[0];
        var_33 = (type_10 *)var_5((type_23 *)(apBStack_180[0]->u).apSub[0xf]);
joined_r0x000a5018:
        var_51 = pTo;
        var_11 = (type_10 *)((int)&var_12->iSize + 1);
        var_60 = pBVar8;
        if (var_33 != (type_10 *)0x0) goto LAB_000a443c;
      }
      else {
        var_33 = (type_10 *)
                      (*(type_9 *)var_63)
                                (pBVar8,(type_25 *)apBStack_180,(type_10 *)&var_59,1,0);
        var_51 = pTo;
        var_11 = var_12;
        var_60 = pBVar8;
        if (var_33 != (type_10 *)0x0) goto LAB_000a443c;
        (*(type_9 *)var_70)(apBStack_180[0],var_66);
        var_8 = var_72[0];
        var_19 = (pBVar8->u).aBitmap[5];
        var_3->iSize = (type_12)apBStack_180[0];
        *(type_6 *)(var_41 + (int)var_12 * 4) = var_8;
        if (var_19 != '\0') {
          var_48((type_26 *)pBVar8,apBStack_180[0]->nSet,'\x05',pTo->nSet,(int *)&var_33);
          goto joined_r0x000a5018;
        }
      }
      var_50 = (type_10 *)((int)&var_12->iSize + 1);
      var_3 = (type_10 *)&var_3->nSet;
    } while ((int)var_50 < (int)var_57);
    var_55 = aiStack_140;
    var_49 = auStack_e0;
    var_56 = (type_8 *)((int)var_27 + 10);
    var_51 = (type_10 *)0x1;
    auStack_f4[0] = (type_6)var_47[3]->szOsFile;
    auStack_e0[0] = (type_6)var_47[3]->szOsFile;
    auStack_15c[0] =
         *(type_8 *)
          ((int)&((type_7 *)&var_47[3]->pNext)->apSub[0xf]->u + 0x10)
    ;
    var_54 = auStack_f4;
    while( true ) {
      var_49 = var_49 + 1;
      var_6 = *(int *)(var_23 + 0xb753c);
      if (var_50 == var_51) break;
      var_52 = *(type_13 **)(*var_55 + 4);
      var_6 = *(int *)(*var_55 + 0x48);
      var_54[1] = (type_6)var_52;
      *var_49 = (type_6)var_52;
      bVar5 = var_52 == (type_13 *)auStack_f4[0];
      *var_56 = *(type_8 *)(var_6 + 0x1c);
      var_53 = auStack_f4;
      if (bVar5) {
        var_6 = *(int *)(var_23 + 0xb7620);
LAB_000a5138:
        var_33 = (type_10 *)(*(type_9 *)(var_6 + -0x75c0))(0x1150c);
        var_51 = pTo;
        var_11 = var_50;
        var_60 = pBVar8;
        var_70 = (type_10 *)((int)var_12 * 4);
        goto LAB_000a443c;
      }
      while (puVar16 = var_53 + 1, var_54 != var_53) {
        var_6 = *(int *)(var_23 + 0xb7620);
        var_53 = puVar16;
        if (var_52 == (type_13 *)*puVar16) goto LAB_000a5138;
      }
      var_51 = (type_10 *)((int)&var_51->iSize + 1);
      var_54 = var_54 + 1;
      var_55 = var_55 + 1;
      var_56 = var_56 + 1;
    }
    var_57 = (type_10 *)0x0;
    var_3 = pBStack_1ec;
    do {
      var_59 = (type_13 *)auStack_e0[0];
      if (var_50 == (type_10 *)0x1) {
        auStack_e0[0] = 0xffffffff;
        if (var_57 == (type_10 *)0x0) goto LAB_000a5230;
        var_51 = (type_10 *)0x0;
LAB_000a51ec:
        var_52 = (type_13 *)var_3->iSize;
        var_58 = var_52->xCurrentTimeInt64;
        *(type_8 *)(var_58 + 0x1c) = *(type_8 *)((int)var_27 + (int)var_51 * 2 + 8);
        (*(type_9 *)(var_6 + -0x2370))(var_58,var_59);
        var_52->szOsFile = (int)var_59;
      }
      else {
        var_49 = auStack_e0;
        var_51 = (type_10 *)0x0;
        var_60 = (type_10 *)0x1;
        do {
          var_52 = (type_13 *)var_49[1];
          var_49 = var_49 + 1;
          if (var_52 < var_59) {
            var_51 = var_60;
          }
          var_60 = (type_10 *)((int)&var_60->iSize + 1);
          if (var_52 < var_59) {
            var_59 = var_52;
          }
        } while (var_50 != var_60);
        auStack_e0[(int)var_51] = 0xffffffff;
        if (var_51 != var_57) {
          if ((int)var_57 < (int)var_51) {
            var_43 = (int)(pBVar8->u).apSub[8];
            var_42 = *(int *)(aiStack_140[(int)var_51[-1].u.aHash + 499] + 0x48);
            *(type_8 *)(var_42 + 0x1c) = 0;
            (*(type_9 *)(var_6 + -0x2370))(var_42,(type_4 *)((int)&var_51->iSize + var_43 + 1));
          }
          goto LAB_000a51ec;
        }
      }
      var_57 = (type_10 *)((int)&var_57->iSize + 1);
      var_3 = (type_10 *)&var_3->nSet;
      if (var_50 == var_57) {
LAB_000a5230:
        var_52 = var_47[(int)((int)&var_12->iSize + 3)];
        var_6 = var_52->szOsFile;
        *(type_4 *)((int)&pBStack_1c8->iSize + 3) = (type_4)var_6;
        *(type_4 *)&pBStack_1c8->iSize = (type_4)((type_6)var_6 >> 0x18);
        *(type_4 *)((int)&pBStack_1c8->iSize + 1) = (type_4)((type_6)var_6 >> 0x10);
        *(type_4 *)((int)&pBStack_1c8->iSize + 2) = (type_4)((type_6)var_6 >> 8);
        if (((var_61 & 8) == 0) && (var_50 != var_40)) {
          var_34 = var_47 + 2;
          if ((int)var_50 <= (int)var_40) {
            var_34 = var_27 + 4;
          }
          var_62 = var_52->xRandomness;
          var_25 = *(type_6 *)(var_34[(int)((int)&pBStack_1d4->iSize + 1)]->xRandomness + 8);
          var_7 = var_62 + 8;
          var_8 = (type_6)var_7 & 3;
          *(type_6 *)(var_7 + -var_8) =
               *(type_6 *)(var_7 + -var_8) & -1 << (4 - var_8) * 8 | var_25 >> var_8 * 8;
          var_7 = var_62 + 0xb;
          var_8 = (type_6)var_7 & 3;
          *(type_6 *)(var_7 + -var_8) =
               *(type_6 *)(var_7 + -var_8) & 0xffffffffU >> (var_8 + 1) * 8 |
               var_25 << (3 - var_8) * 8;
        }
        var_3 = (type_10 *)var_47[3];
        if ((pBVar8->u).aBitmap[5] == '\0') goto LAB_000a5474;
        var_46 = (pBVar8->u).apSub[6];
        var_63 = ((type_7 *)&var_47[3]->pNext)->apSub[0xb];
        var_66 = (type_10 *)
                      ((type_6)*(type_5 *)((int)&var_47[3]->pNext + 10) +
                      (type_6)((type_7 *)&var_47[3]->pNext)->aBitmap[0]
                      );
        if ((int)var_72[0] < 1) goto LAB_000a5474;
        pBStack_1d4 = (type_10 *)0x0;
        var_17 = (type_2 *)0x0;
        pBStack_1c8 = (type_10 *)0x0;
        var_41 = (type_4 *)(*(int *)(var_23 + 0xb75e4) + 0x22e0);
        pBStack_1b8 = (type_10 *)(*(int *)(var_23 + 0xb753c) + -0x14d8);
        var_57 = (type_10 *)0x0;
        pBVar47 = (type_10 *)var_72[0];
        var_64 = (type_1 *)var_47[3];
        var_2 = (type_3)var_47[3];
        pBStack_1b0 = var_12;
        goto LAB_000a53dc;
      }
    } while( true );
  }
  pBStack_1ec = (type_10 *)(&((type_10 *)apPStack_108)->iSize + (int)var_46);
  var_66 = (type_10 *)(*(int *)(var_23 + 0xb753c) + -0x14d8);
  var_63 = var_46;
  var_50 = (type_10 *)apPStack_108[(int)var_46];
  var_51 = (type_10 *)(&pBStack_1a8->iSize + (int)var_46);
  do {
    var_70 = var_51;
    var_63 = (type_10 *)((int)&var_63[-1].u + 499);
    var_3 = (type_10 *)pBStack_1ec[-1].u.aHash[0x7c];
    var_12 = (type_10 *)((var_70[-1].u.aHash[0x7c] - (int)var_39) * 2);
    var_51 = (type_10 *)(var_70[-1].u.aHash[0x7c] - 1);
    if (*(short *)(var_72[3] + (int)var_12) == 0) {
      (*(type_9 *)var_66)(var_72);
    }
    do {
      var_60 = var_51;
      if (*(short *)((int)(type_12 *)var_72[3] + (int)var_60 * 2) == 0) {
        (*(type_9 *)var_66)(var_72,var_60);
      }
      if (var_50 != (type_10 *)0x0) {
        var_60 = (type_10 *)var_70[-1].u.aHash[0x7c];
        break;
      }
      var_26 = *(type_5 *)((int)(type_12 *)var_72[3] + (int)var_60 * 2);
      var_50 = (type_10 *)(*(type_5 *)((int)&var_12->iSize + (int)(type_12 *)var_72[3]) + 2);
      var_70[-1].u.apSub[0x7c] = var_60;
      var_51 = (type_10 *)((int)&var_60[-1].u + 499);
      var_3 = (type_10 *)((int)var_3 - (var_26 + 2));
      var_12 = (type_10 *)((int)&var_12[-1].u + 0x1f2);
    } while (-1 < (int)var_51);
    pBStack_1ec->iSize = (type_12)var_50;
    pBStack_1ec[-1].u.aHash[0x7c] = (type_12)var_3;
    pBStack_1b0 = var_57;
    if (var_63 == (type_10 *)0x0) {
      bVar5 = 0 < (int)var_60;
      var_12 = var_57;
      var_50 = var_60;
      var_51 = pTo;
      var_60 = pBVar8;
      if (bVar5) goto LAB_000a4ef4;
      break;
    }
    pBStack_1ec = (type_10 *)((int)&pBStack_1ec[-1].u + 0x1f0);
    var_51 = (type_10 *)((int)&var_70[-1].u + 0x1f0);
    var_50 = var_3;
  } while ((int)var_70[-1].u.aHash[0x7b] < (int)var_60);
  uVar32 = 0x114c2;
  pBStack_1d4 = var_70;
LAB_000a46ec:
  var_33 = (type_10 *)(*(type_9 *)(*(int *)(var_23 + 0xb7620) + -0x75c0))(uVar32);
  var_57 = var_12;
  var_70 = pBStack_1d4;
LAB_000a443c:
  pBStack_1d4 = var_70;
  var_18 = (int)var_50;
  pTo = var_51;
  pBVar8 = var_60;
  if ((type_10 *)var_72[2] != (type_10 *)0x0) {
    (**(type_9 **)(var_23 + 0xb7500))();
  }
LAB_000a4454:
  var_2 = (int)var_47 + var_45 + 4;
  var_17 = (type_2 *)(*(int *)(var_23 + 0xb753c) + -0x1cbc);
  var_64 = (type_1 *)var_28;
  do {
    if (*(type_13 **)var_64 != (type_13 *)0x0) {
      (*(type_9 *)var_17)((*(type_13 **)var_64)->xCurrentTimeInt64);
    }
    var_64 = (type_1 *)((int)var_64 + 4);
  } while (var_64 != (type_1 *)var_2);
  if (var_11 != (type_10 *)0x0) {
    var_64 = (type_1 *)(var_47 + 3);
    var_17 = (type_2 *)(*(int *)(var_23 + 0xb753c) + -0x1cbc);
    var_2 = (int)var_64 + var_11 * 4;
    do {
      if (*(type_13 **)var_64 != (type_13 *)0x0) {
        (*(type_9 *)var_17)((*(type_13 **)var_64)->xCurrentTimeInt64);
      }
      var_64 = (type_1 *)((int)var_64 + 4);
    } while ((type_1 *)var_2 != var_64);
  }
LAB_000a44d0:
  if ((type_10 *)abStack_8c._8_4_ == (type_10 *)*pPVar10) {
    return;
  }
  pBVar47 = (type_10 *)abStack_8c._8_4_;
  (**(type_9 **)(var_23 + 0xb78f0))();
  var_12 = extraout_v1;
  var_50 = (type_10 *)var_18;
  var_18 = (int)var_11;
  do {
    if ((var_12 <= var_3) &&
       (var_3 < (type_10 *)((int)&var_46->iSize + (int)&var_12->iSize))) goto LAB_000a53d0;
    do {
      if (var_65 == (type_10 **)0x0) {
        var_48((type_26 *)pBVar8,(type_3)var_3->iSize,'\x05',((type_10 *)var_2)->nSet,
                  (int *)&var_33);
      }
      var_8 = (type_6)*(type_5 *)((int)(type_12 *)var_72[3] + (int)var_57 * 2);
      if (var_8 == 0) {
        var_8 = (*(type_9 *)pBStack_1b8)(var_72,var_57);
      }
      if (*(type_5 *)((int)&((type_10 *)var_2)->u + 4) < var_8) {
        (*(type_9 *)var_41)
                  (var_2,(type_18 *)((int)&((type_10 *)var_64)->u + 0x30),var_3,&var_33);
      }
      pBVar47 = (type_10 *)var_72[0];
      var_51 = pTo;
      var_11 = var_50;
      var_60 = pBVar8;
      var_70 = pBStack_1d4;
      if (var_33 != (type_10 *)0x0) goto LAB_000a443c;
LAB_000a53d0:
      do {
        var_57 = (type_10 *)((int)&var_57->iSize + 1);
        var_12 = pBStack_1b0;
        if ((int)pBVar47 <= (int)var_57) goto LAB_000a5474;
LAB_000a53dc:
        var_3 = (type_10 *)((type_12 *)var_72[2])[(int)var_57];
        if (var_57 == var_66) {
          var_17 = (type_2 *)((int)&((type_10 *)var_17)->iSize + 1);
          if ((int)var_17 < (int)var_50) {
            var_64 = (type_1 *)aiStack_140[(int)(((type_10 *)((int)var_17 + -0x200))->u).aHash + 499];
          }
          else {
            var_64 = (type_1 *)var_27[(int)((int)&((type_10 *)var_17)->nSet + 1)];
          }
          var_63 = (((type_10 *)var_64)->u).apSub[0xb];
          var_66 = (type_10 *)
                        ((int)&var_66->iSize +
                        (type_6)*(type_5 *)((int)&((type_10 *)var_64)->u + 10) +
                        (type_6)(((type_10 *)var_64)->u).aBitmap[0] + (type_6)(var_39 == (type_9 *)0x0)
                        );
        }
        if (*(type_10 **)(var_67 + (int)pBStack_1c8) != var_57) break;
        pBStack_1d4 = (type_10 *)((int)&pBStack_1d4->iSize + 1);
        pBStack_1c8 = (type_10 *)((int)pBStack_1d4 * 4);
        var_2 = (type_3)var_47[(int)((int)&pBStack_1d4->iSize + 3)];
      } while (var_39 == (type_9 *)0x0);
    } while (((int)var_50 <= (int)var_17) ||
            (var_12 = var_63, ((type_10 *)var_2)->nSet != auStack_f4[(int)var_17]));
  } while( true );
LAB_000a46e0:
  uVar32 = 0x11403;
  pBStack_1ec = (type_10 *)0x0;
  var_66 = (type_10 *)apPStack_108;
  var_63 = pBVar8;
  pBStack_1d4 = pTo;
  goto LAB_000a46ec;
LAB_000a5474:
  var_11 = var_50;
  if (var_12 != (type_10 *)0x0) {
    var_66 = (type_10 *)0x0;
    var_70 = (type_10 *)((int)&var_12->iSize + (int)(type_13 **)abStack_8c._56_4_);
    var_63 = (type_10 *)&var_33;
    var_6 = *(int *)(var_23 + 0xb75e4);
    var_46 = (type_10 *)(*(int *)(var_23 + 0xb75b8) + 0x54);
    var_12 = (type_10 *)abStack_8c._56_4_;
    var_3 = pBStack_1ec;
    do {
      var_69 = (type_4 *)((int)var_16 + (int)var_66);
      var_57 = (type_10 *)var_3->iSize;
      var_8 = (type_6)*(type_5 *)((int)(type_12 *)var_72[3] + (int)pBStack_1a8->iSize * 2);
      var_30 = (type_4 *)((type_12 *)var_72[2])[(int)pBStack_1a8->iSize];
      var_42 = var_8 + (int)var_65;
      if (*(type_2 *)&var_57->iDivisor == '\0') {
        var_25 = *(type_6 *)var_30;
        var_68 = (type_2 *)(var_57->u).apSub[0xb];
        var_24 = var_68 + 8;
        var_8 = (type_6)var_24 & 3;
        *(type_6 *)(var_24 + -var_8) =
             *(type_6 *)(var_24 + -var_8) & -1 << (4 - var_8) * 8 | var_25 >> var_8 * 8;
        var_68 = var_68 + 0xb;
        var_8 = (type_6)var_68 & 3;
        *(type_6 *)(var_68 + -var_8) =
             *(type_6 *)(var_68 + -var_8) & 0xffffffffU >> (var_8 + 1) * 8 |
             var_25 << (3 - var_8) * 8;
      }
      else if (var_39 == (type_9 *)0x0) {
        var_30 = var_30 + -4;
        if (var_8 == 4) {
          uVar22 = (*(type_22 *)(pTo->u).aHash[0x10])((type_1 *)pTo,var_30);
          var_42 = var_31(extraout_var_01,uVar22);
          var_41 = var_30;
        }
      }
      else {
        (*(type_27 *)(var_57->u).aHash[0x11])
                  ((type_1 *)var_57,(type_2 *)((type_12 *)var_72[2] + (int)pBStack_1a8->iSize)[-1],
                   (type_25 *)apBStack_180);
        if ((apBStack_180[0] == (type_10 *)0x0) && (apBStack_180[1] < 0x80)) {
          var_69[4] = (type_4)apBStack_180[1];
          var_42 = 1;
        }
        else {
          var_42 = (*(type_9 *)var_46)(var_69 + 4);
        }
        var_42 = var_42 + 4;
        var_30 = var_69;
        var_69 = (type_4 *)0x0;
      }
      var_66 = (type_10 *)((int)&var_66->iSize + var_42);
      (*(type_9 *)(var_6 + 0x3cd0))(pTo,var_12,var_30,var_42,var_69,var_57->nSet,var_63);
      var_51 = pTo;
      var_60 = pBVar8;
      pBStack_1c8 = (type_10 *)(var_6 + 0x3cd0);
      if (var_33 != (type_10 *)0x0) goto LAB_000a443c;
      var_12 = (type_10 *)((int)&var_12->iSize + 1);
      pBStack_1a8 = (type_10 *)&pBStack_1a8->nSet;
      var_3 = (type_10 *)&var_3->nSet;
    } while (var_12 != var_70);
  }
  var_46 = (type_10 *)apBStack_180;
  var_66 = (type_10 *)-(int)var_50;
  pBStack_1a8 = (type_10 *)(*(int *)(var_23 + 0xb7620) + -0x543c);
  var_41 = *(type_4 **)(var_23 + 0xb7620);
  var_63 = (type_10 *)((int)&var_66->iSize + 2);
  var_70 = (type_10 *)(*(int *)(var_23 + 0xb7620) + -0x5114);
  var_6 = *(int *)(var_23 + 0xb7620);
  var_57 = var_46;
  do {
    var_66 = (type_10 *)((int)&var_66->iSize + 1);
    var_12 = var_66;
    if ((int)var_66 < 0) {
      var_12 = (type_10 *)-(int)var_66;
    }
    pBStack_1c8 = var_50;
    if (abStack_8c[(int)var_12] == 0) {
      if (-1 < (int)var_66) {
        if (var_66 != (type_10 *)0x0) goto LAB_000a569c;
        pBVar55 = (type_10 *)0x0;
        var_30 = (type_4 *)(type_6)*(type_5 *)((int)&var_47[3]->pNext + 10);
        var_3 = (type_10 *)
                  (((type_7 *)&var_47[3]->pNext)->aHash[0xd] +
                  var_67._0_4_ * 2);
        var_16 = (int *)(type_6)*(type_4 *)((int)&var_47[3]->mxPathname + 1);
        var_51 = ((type_7 *)&var_47[3]->pNext)->apSub[0xb];
        pBVar45 = (type_10 *)
                  (var_30 +
                  ((type_7 *)&var_47[3]->pNext)->aBitmap[0]);
        var_42 = 0;
        pBVar47 = (type_10 *)var_67._0_4_;
        var_57 = (type_10 *)var_47[3];
        var_60 = (type_10 *)var_67._0_4_;
        goto LAB_000a5774;
      }
      puVar35 = (type_18 *)((int)&var_12[-1].u + 499);
      if (*(int *)(var_67 + (int)puVar35 * 4) <= *(int *)(var_71 + (int)puVar35 * 4)) {
LAB_000a569c:
        puVar35 = (type_18 *)((int)&var_12[-1].u + 499);
        pBVar55 = (type_10 *)var_72[0];
        if ((int)var_12 < (int)var_40) {
          pBVar55 = (type_10 *)
                    ((type_6)(var_39 == (type_9 *)0x0) + *(int *)(var_71 + (int)puVar35 * 4));
        }
        var_57 = (type_10 *)aiStack_140[(int)var_12[-1].u.aHash + 499];
        var_60 = *(type_10 **)(var_67 + (int)var_12 * 4);
        var_42 = (type_6)(var_39 == (type_9 *)0x0) + *(int *)(var_67 + (int)puVar35 * 4);
        var_30 = (type_4 *)(type_6)*(type_5 *)((int)&var_57->u + 10);
        pBVar47 = (type_10 *)((int)var_60 - var_42);
        var_16 = (int *)(type_6)*(type_4 *)((int)&var_57->iDivisor + 1);
        var_51 = (var_57->u).apSub[0xb];
        var_3 = (type_10 *)((var_57->u).aHash[0xd] + (int)pBVar47 * 2);
        pBVar45 = (type_10 *)(var_30 + (int)((int)&pBVar55->iSize + (type_6)(var_57->u).aBitmap[0]));
        if ((int)pBVar55 < var_42) {
          var_43 = (*(type_9 *)(var_41 + -0x5e24))
                             (var_57,pBVar55,var_42 - (int)pBVar55,var_72 + 2,var_72 + 3);
          pBStack_1b8 = pBVar45;
          if (var_43 <= (int)var_30) {
            var_44 = (int)var_30 << 1;
            var_30 = var_30 + -var_43;
            (**(type_9 **)(var_23 + 0xb791c))
                      ((var_57->u).apSub[0xd],(int)&(var_57->u).apSub[0xd]->iSize + var_43 * 2,
                       var_44);
            goto LAB_000a5774;
          }
          var_33 = (type_10 *)(*(type_9 *)(var_6 + -0x75c0))(0x111f9);
LAB_000a5b00:
          if (var_33 != (type_10 *)0x0) goto LAB_000a443c;
        }
        else {
LAB_000a5774:
          if ((int)var_60 < (int)pBVar45) {
            var_43 = (*(type_9 *)(var_41 + -0x5e24))
                               (var_57,var_60,(int)pBVar45 - (int)var_60,var_72 + 2,
                                var_72 + 3);
            var_30 = var_30 + -var_43;
          }
          var_69 = (type_4 *)((int)var_16 + (int)((int)&var_51->nSet + 1));
          pBStack_1b0 = (type_10 *)((int)var_16 + (int)((int)&var_51->nSet + 2));
          apBStack_180[0] =
               (type_10 *)
               ((int)&var_51->iSize +
               (var_9(*var_69,*(type_4 *)&pBStack_1b0->iSize) - 1 & 0xffff) + 1);
          if (apBStack_180[0] < var_3) {
LAB_000a5a94:
            if (0 < (int)pBVar47) {
LAB_000a5a9c:
              var_3 = (type_10 *)(var_42 << 1);
              var_60 = pBVar47;
              do {
                var_30 = (type_4 *)((int)&var_3->iSize + (int)(type_12 *)var_72[3]);
                if (*(short *)var_30 == 0) {
                  sVar23 = (*(type_9 *)((type_7 *)(var_72[1] + 0xc))->
                                     aHash[0x10])
                                     (var_72[1],
                                      *(type_16 *)((int)(type_12 *)var_72[2] + (int)var_3 * 2))
                  ;
                  *(short *)var_30 = sVar23;
                }
                var_60 = (type_10 *)((int)&var_60[-1].u + 499);
                var_3 = (type_10 *)((int)&var_3->iSize + 2);
              } while (var_60 != (type_10 *)0x0);
            }
            var_60 = (type_10 *)var_72;
            var_33 = (type_10 *)(*(type_9 *)pBStack_1a8)(var_60,var_42,pBVar47,var_57);
            goto LAB_000a5b00;
          }
          if (var_42 < (int)pBVar55) {
            var_60 = (var_57->u).apSub[0xd];
            pBStack_1b8 = (type_10 *)((int)pBVar55 - var_42);
            if ((int)pBVar47 < (int)pBVar55 - var_42) {
              pBStack_1b8 = pBVar47;
            }
            (**(type_9 **)(var_23 + 0xb791c))
                      ((int)&var_60->iSize + (int)pBStack_1b8 * 2,var_60,(int)var_30 << 1);
            var_43 = (*(type_9 *)var_70)(var_57,var_3,var_46,var_60,var_42,pBStack_1b8,
                                        var_72);
            if (var_43 != 0) goto LAB_000a5a94;
            var_30 = (type_4 *)((int)&pBStack_1b8->iSize + (int)var_30);
          }
          if ((var_57->u).aBitmap[0] != 0) {
            var_73 = (type_5 *)((int)&var_57->u + 0xe);
            var_43 = 0;
            do {
              puVar35 = (type_18 *)((int)&pBVar55->iSize + (type_6)*var_73);
              var_44 = (int)puVar35 - var_42;
              pBStack_1b8 = var_12;
              if ((-1 < var_44) && (var_44 < (int)pBVar47)) {
                var_43 = (int)(var_57->u).apSub[0xd] + var_44 * 2;
                (**(type_9 **)(var_23 + 0xb791c))(var_43 + 2,var_43,((int)var_30 - var_44) * 2);
                var_43 = (*(type_9 *)var_70)(var_57,var_3,var_46,var_43,puVar35,1,var_72)
                ;
                if (var_43 == 0) {
                  var_74((var_57->u).aHash[0xd],(var_57->u).aBitmap[0]);
                  return;
                }
                goto LAB_000a5a9c;
              }
              var_43 = var_43 + 1;
              var_73 = var_73 + 1;
            } while (var_43 < (int)(type_6)(var_57->u).aBitmap[0]);
          }
          var_43 = (*(type_9 *)var_70)(var_57,var_3,var_46,
                                      (int)&(var_57->u).apSub[0xd]->iSize + (int)var_30 * 2,
                                      var_30 + var_42,(int)pBVar47 - (int)var_30,var_72);
          if (var_43 != 0) goto LAB_000a5a94;
          *(short *)((int)&var_57->u + 10) = (short)pBVar47;
          (var_57->u).aBitmap[0] = '\0';
          *(char *)((int)var_16 + (int)((int)&var_51->iSize + 3)) = (char)((type_6)pBVar47 >> 8)
          ;
          *(type_4 *)((int)var_16 + (int)(&var_51->iSize + 1)) =
               (type_4)*(type_8 *)((int)&var_57->u + 10);
          *var_69 = (type_4)((type_6)((int)apBStack_180[0] - (int)var_51) >> 8);
          *(char *)&pBStack_1b0->iSize = (char)apBStack_180[0] - (char)var_51;
          var_33 = (type_10 *)0x0;
        }
        pPVar21 = apPStack_108[(int)var_12];
        abStack_8c[(int)var_12] = 1;
        *(short *)((int)&var_57->u + 8) = (short)pBStack_1f4 - (short)pPVar21;
        goto FUN_000a5944;
      }
    }
    else {
FUN_000a5944:
      var_52 = var_47[3];
      if ((int)var_50 <= (int)var_63) break;
    }
    var_63 = (type_10 *)((int)&var_63->iSize + 1);
  } while( true );
  if ((((int *)abStack_8c._64_4_ == (int *)0x0) || (*(type_11 *)((int)&pTo->u + 10) != 0)) ||
     (*(type_5 *)((int)&var_47[3]->pNext + 8) < (type_5)*(type_2 *)((int)&pTo->iDivisor + 1))) {
    if (((pBVar8->u).aBitmap[5] != '\0') && (var_65 == (type_10 **)0x0)) {
      var_63 = (type_10 *)&var_33;
      var_12 = pBStack_1ec;
      do {
        var_34 = (type_13 **)&var_12->iSize;
        var_18 = (int)&((type_10 *)var_18)->iSize + 1;
        var_12 = (type_10 *)&var_12->nSet;
        var_48((type_26 *)pBVar8,*(type_3 *)((*var_34)->xRandomness + 8),'\x05',
                  (*var_34)->szOsFile,(int *)var_63);
      } while (var_50 != (type_10 *)var_18);
    }
  }
  else {
    var_33 = (type_10 *)
                  (*(type_9 *)(*(int *)(var_23 + 0xb7620) + -0x5910))(var_47[3],0xffffffff);
    if (var_33 == (type_10 *)0x0) {
      var_75((type_1 *)var_52,(type_1 *)pTo,(int *)&var_33);
      if (var_33 == (type_10 *)0x0) {
        var_76((type_1 *)var_52,(int *)&var_33);
      }
    }
  }
  var_12 = var_50;
  while (var_51 = pTo, var_60 = pBVar8, (int)var_12 < (int)var_40) {
    if (var_33 == (type_10 *)0x0) {
      var_34 = var_28 + (int)var_12;
      var_12 = (type_10 *)((int)&var_12->iSize + 1);
      var_76((type_1 *)*var_34,(int *)&var_33);
    }
    else {
      var_12 = (type_10 *)((int)&var_12->iSize + 1);
    }
  }
  goto LAB_000a443c;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (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: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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 (comma_expression left: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)))) right: (number_literal)) right: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) right: (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: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))) (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (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: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (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: (primitive_type)) value: (identifier)) right: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)) right: (unary_expression argument: (identifier)))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)) (identifier) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (call_expression function: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)))) field: (field_identifier))) right: (subscript_expression argument: (field_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (pointer_expression argument: (identifier)))) field: (field_identifier)) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (field_expression argument: (identifier) field: (field_identifier))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_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 declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (number_literal) (field_expression argument: (identifier) field: (field_identifier)) (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (identifier) (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (number_literal) (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (for_statement condition: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) update: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (expression_statement (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) (identifier) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) right: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_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: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))) alternative: (else_clause (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: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (break_statement)) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (break_statement))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) field: (field_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) (number_literal) (identifier) (identifier)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (break_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: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (identifier)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (field_expression argument: (identifier) field: (field_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (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)) 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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) right: (subscript_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_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: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (break_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (field_expression argument: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_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: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))))) consequence: (goto_statement label: (statement_identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (labeled_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier))) right: (comma_expression left: (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier))) right: (comma_expression left: (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier))) right: (comma_expression left: (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_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: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal)))))))))))))))) condition: (parenthesized_expression (true))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (number_literal) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier)))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) field: (field_identifier)) right: (number_literal))))) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_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: (pointer_expression argument: (field_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) 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: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))) right: (number_literal))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (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: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_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: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))) (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (number_literal))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (pointer_expression argument: (identifier)) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (parenthesized_expression (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) field: (field_identifier))))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier))))) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (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: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) index: (number_literal)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (break_statement))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier)))))) condition: (parenthesized_expression (true))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier)))))))))) (goto_statement label: (statement_identifier)))))

/* WARNING: Removing unreachable block (ram,0x000a4d64) */
/* WARNING: Removing unreachable block (ram,0x000a4d8c) */
/* WARNING: Removing unreachable block (ram,0x000a4f54) */
/* WARNING: Type propagation algorithm not settling */

Elf32_Ehdr *
MASKED(Elf32_Ehdr *param_1,Elf32_Ehdr *param_2,Elf32_Ehdr *param_3,Elf32_Ehdr *param_4,
            int param_5,Elf32_Ehdr *param_6,Elf32_Ehdr *param_7)

{
  ushort uVar1;
  ushort uVar2;
  ushort uVar3;
  bool bVar4;
  ushort uVar5;
  word wVar6;
  Elf32_Ehdr *pEVar7;
  byte bVar22;
  byte *pbVar8;
  int *piVar9;
  int iVar10;
  Elf32_Ehdr *pEVar11;
  uint *puVar12;
  undefined4 uVar13;
  short *psVar14;
  dword *pdVar15;
  undefined1 *puVar17;
  int iVar18;
  int iVar19;
  int iVar20;
  short sVar21;
  byte bVar24;
  uint uVar23;
  Elf32_Ehdr *extraout_v1;
  uint uVar25;
  Elf32_Ehdr *pEVar26;
  dword *pdVar27;
  word *pwVar28;
  undefined4 *puVar29;
  dword dVar30;
  undefined4 uVar31;
  uint uVar32;
  word *pwVar33;
  byte *pbVar34;
  int iVar35;
  undefined4 uVar36;
  byte *pbVar37;
  undefined4 uVar38;
  byte *pbVar39;
  int *piVar40;
  ushort *puVar41;
  Elf32_Ehdr *pEVar42;
  byte bVar45;
  Elf32_Ehdr **ppEVar43;
  int iVar44;
  char *pcVar46;
  Elf32_Ehdr *pEVar47;
  Elf32_Ehdr *pEVar48;
  Elf32_Ehdr *pEVar49;
  Elf32_Ehdr *pEVar50;
  Elf32_Ehdr *unaff_s6;
  Elf32_Ehdr *pEVar51;
  Elf32_Ehdr *unaff_s7;
  char *pcVar52;
  undefined *puVar53;
  Elf32_Ehdr *pEVar54;
  code *pcVar55;
  Elf32_Ehdr *pEStack_1f4;
  Elf32_Ehdr *pEStack_1f0;
  Elf32_Ehdr *pEStack_1ec;
  Elf32_Ehdr *pEStack_1e8;
  code *pcStack_1e4;
  undefined1 *puStack_1e0;
  Elf32_Ehdr **ppEStack_1dc;
  Elf32_Ehdr *pEStack_1d8;
  Elf32_Ehdr *pEStack_1d4;
  int iStack_1d0;
  Elf32_Ehdr *pEStack_1c8;
  Elf32_Ehdr *pEStack_1c4;
  byte *pbStack_1c0;
  char *pcStack_1bc;
  Elf32_Ehdr *pEStack_1b8;
  Elf32_Ehdr *pEStack_1b0;
  Elf32_Ehdr *pEStack_1a8;
  undefined1 auStack_188 [8];
  undefined1 auStack_180 [36];
  word awStack_15c [4];
  undefined1 auStack_154 [4];
  Elf32_Ehdr *pEStack_150;
  undefined1 auStack_14c [8];
  undefined1 auStack_144 [20];
  undefined1 auStack_130 [40];
  Elf32_Ehdr EStack_108;
  undefined1 auStack_cc [8];
  int iStack_c4;
  int aiStack_c0 [13];
  undefined4 uStack_8c;
  undefined1 uStack_88;
  int iStack_84;
  Elf32_Ehdr *pEStack_80;
  Elf32_Ehdr *pEStack_7c;
  Elf32_Ehdr *pEStack_78;
  undefined *puStack_74;
  Elf32_Ehdr *pEStack_70;
  Elf32_Ehdr *pEStack_6c;
  Elf32_Ehdr *pEStack_68;
  Elf32_Ehdr *pEStack_64;
  Elf32_Ehdr *pEStack_60;
  code *pcStack_5c;
  Elf32_Ehdr *pEStack_54;
  Elf32_Ehdr *pEStack_4c;
  int local_30;
  Elf32_Ehdr *local_2c;
  dword *pdVar16;
  
  pEVar47 = (Elf32_Ehdr *)PTR___stack_chk_guard_0015ba2c;
  pEVar49 = (Elf32_Ehdr *)(uint)param_1->e_ident_pad[3];
  local_2c = *(Elf32_Ehdr **)PTR___stack_chk_guard_0015ba2c;
  bVar45 = (byte)((uint)param_6 >> 8);
  bVar22 = (byte)((uint)param_6 >> 0x10);
  bVar24 = (byte)((uint)param_6 >> 0x18);
  pEVar48 = param_2;
  pEStack_1d8 = param_3;
  pEVar50 = param_4;
  if ((pEVar49 == (Elf32_Ehdr *)0x0) &&
     ((int)param_4->e_ident_magic_str < (int)(uint)*(ushort *)&param_1->e_version)) {
    pEVar26 = (Elf32_Ehdr *)param_1[1].e_version;
    iVar10 = FUN_0009c62c();
    if (iVar10 == 0) {
      uVar25 = (uint)param_1->e_ident_pad[0];
      pbVar34 = *(byte **)&param_1[1].e_ident_class;
      pEVar48 = (Elf32_Ehdr *)(uint)param_1->e_machine;
      local_30 = 0;
      pbVar39 = pbVar34 + uVar25 + 5;
      pbVar37 = pbVar34 + uVar25 + 6;
      unaff_s7 = (Elf32_Ehdr *)
                 (pEVar48->e_ident_magic_str + (uint)(ushort)param_1->e_version * 2 + -1);
      unaff_s6 = (Elf32_Ehdr *)(uint)CONCAT11(*pbVar39,*pbVar37);
      if (unaff_s6 < unaff_s7) {
        if ((unaff_s6 == (Elf32_Ehdr *)0x0) &&
           (pEVar48 = *(Elf32_Ehdr **)(*(int *)(param_1 + 1) + 0x24),
           pEVar48 == &Elf32_Ehdr_00010000)) {
          unaff_s6 = &Elf32_Ehdr_00010000;
          goto LAB_000a3e78;
        }
        pEVar26 = (Elf32_Ehdr *)0xfcb0;
        iVar10 = (*(code *)(PTR_LAB_0015b740 + -0x75c0))();
        if (iVar10 != 0) goto LAB_000a3fdc;
        unaff_s7 = (Elf32_Ehdr *)0x0;
        unaff_s6 = (Elf32_Ehdr *)0x0;
        pbVar8 = pbVar34;
      }
      else {
LAB_000a3e78:
        if (((pbVar34[uVar25 + 2] != 0) || (pbVar34[uVar25 + 1] != 0)) &&
           (unaff_s7->e_ident_magic_str < unaff_s6)) {
          pEStack_1d8 = (Elf32_Ehdr *)&local_30;
          pEVar26 = param_1;
          pEVar48 = param_4;
          pbVar8 = (byte *)(*(code *)(PTR_LAB_0015b740 + -0x5a84))();
          if (pbVar8 != (byte *)0x0) {
            unaff_s6 = (Elf32_Ehdr *)(pbVar8 + -(int)pbVar34);
            pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);
            unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);
            goto LAB_000a3ec4;
          }
          iVar10 = local_30;
          if (local_30 != 0) goto LAB_000a3fdc;
        }
        if ((int)unaff_s6 < (int)(unaff_s7->e_ident_magic_str + 1 + (int)param_4)) {
          pEVar7 = (Elf32_Ehdr *)
                   ((uint)*(ushort *)&param_1->e_version - (int)(param_4->e_ident_magic_str + 1));
          pEStack_1d8 = (Elf32_Ehdr *)(uint)((int)pEVar7 < 5);
          pEVar48 = (Elf32_Ehdr *)&DAT_00000004;
          if (pEStack_1d8 != (Elf32_Ehdr *)0x0) {
            pEVar48 = pEVar7;
          }
          pEVar26 = param_1;
          local_30 = (*(code *)(PTR_LAB_0015b740 + -0x5910))();
          iVar10 = local_30;
          if (local_30 != 0) goto LAB_000a3fdc;
          unaff_s6 = (Elf32_Ehdr *)((CONCAT11(*pbVar39,*pbVar37) - 1 & 0xffff) + 1);
        }
        unaff_s6 = (Elf32_Ehdr *)((int)unaff_s6 - (int)param_4);
        pEVar49 = (Elf32_Ehdr *)((uint)((int)unaff_s6 * 0x10000) >> 0x18);
        unaff_s7 = (Elf32_Ehdr *)((uint)unaff_s6 & 0xff);
        *pbVar39 = (byte)((uint)unaff_s6 >> 8);
        *pbVar37 = (byte)unaff_s6;
        pbVar8 = pbVar34 + (int)unaff_s6;
      }
LAB_000a3ec4:
      *(short *)&param_1->e_version = (*(short *)&param_1->e_version - (short)param_4) + -2;
      if (param_6 == (Elf32_Ehdr *)0x0) {
        (*(code *)PTR_memcpy_0015ba30)(pbVar8,param_3,param_4);
        pEVar50 = param_4;
      }
      else {
        unaff_s6 = (Elf32_Ehdr *)&unaff_s6->e_ident_class;
        (*(code *)PTR_memcpy_0015ba30)
                  (pbVar34 + (int)unaff_s6,&param_3->e_ident_class,&param_4[-1].e_shnum);
        pbVar8[3] = (byte)param_6;
        *pbVar8 = bVar24;
        pbVar8[1] = bVar22;
        pbVar8[2] = bVar45;
        pEVar50 = param_4;
      }
      param_6 = (Elf32_Ehdr *)(*(int *)(param_1[1].e_ident_pad + 3) + (int)param_2 * 2);
      pEStack_1d8 = (Elf32_Ehdr *)(((uint)(ushort)param_1->e_version - (int)param_2) * 2);
      pEVar48 = param_6;
      (*(code *)PTR_memmove_0015ba3c)(param_6->e_ident_magic_str + 1);
      param_6->e_ident_magic_num = (byte)pEVar49;
      param_6->e_ident_magic_str[0] = (char)unaff_s7;
      pEVar26 = (Elf32_Ehdr *)(pbVar34 + param_1->e_ident_pad[0] + 4);
      *(short *)((int)&param_1->e_version + 2) = (short)param_1->e_version + 1;
      bVar22 = pEVar26->e_ident_magic_num + 1;
      pEVar26->e_ident_magic_num = bVar22;
      if (bVar22 == 0) {
        pbVar34[param_1->e_ident_pad[0] + 3] = pbVar34[param_1->e_ident_pad[0] + 3] + 1;
      }
      if (*(char *)(*(int *)(param_1 + 1) + 0x11) != '\0') {
        pEVar48 = (Elf32_Ehdr *)&param_1[1].e_ident_abiversion;
        pEVar26 = param_1;
        pEStack_1d8 = param_3;
        pEVar50 = param_7;
        FUN_000a22e0();
      }
    }
    else {
LAB_000a3fdc:
      param_7->e_ident_magic_num = (char)((uint)iVar10 >> 0x18);
      param_7->e_ident_magic_str[0] = (char)((uint)iVar10 >> 0x10);
      param_7->e_ident_magic_str[1] = (char)((uint)iVar10 >> 8);
      param_7->e_ident_magic_str[2] = (char)iVar10;
    }
  }
  else {
    pEVar7 = param_3;
    if (param_5 != 0) {
      pEVar7 = (Elf32_Ehdr *)(*(code *)PTR_memcpy_0015ba30)(param_5);
      pEVar48 = param_3;
      pEStack_1d8 = param_4;
    }
    if (param_6 != (Elf32_Ehdr *)0x0) {
      pEVar7->e_ident_magic_str[2] = (byte)param_6;
      param_6 = (Elf32_Ehdr *)((uint)param_6 >> 8);
      pEVar7->e_ident_magic_num = bVar24;
      pEVar7->e_ident_magic_str[0] = bVar22;
      pEVar7->e_ident_magic_str[1] = bVar45;
    }
    uVar25 = (uint)param_1->e_ident_pad[3];
    pEVar26 = (Elf32_Ehdr *)(uVar25 + 1);
    param_1->e_ident_pad[3] = (byte)pEVar26;
    *(Elf32_Ehdr **)(param_1->e_ident_pad + uVar25 * 4 + 0x1b) = pEVar7;
    *(short *)(param_1->e_ident_pad + uVar25 * 2 + 0x11) = (short)param_2;
    param_3 = pEVar7;
  }
  if (local_2c == *(Elf32_Ehdr **)pEVar47) {
    return *(Elf32_Ehdr **)pEVar47;
  }
  pcVar55 = FUN_000a4120;
  puVar53 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  piVar9 = *(int **)(puVar53 + 0xb790c);
  pEStack_60 = param_7;
  puStack_74 = &pEVar47->e_ident_magic_num;
  auStack_188._0_4_ = (Elf32_Ehdr *)0x0;
  uStack_8c = 0;
  uStack_88 = 0;
  auStack_cc._0_4_ = 0;
  iStack_c4 = 0;
  iStack_84 = *piVar9;
  pEVar7 = *(Elf32_Ehdr **)(pEVar26 + 1);
  pEStack_80 = param_1;
  pEStack_7c = param_6;
  pEStack_78 = param_3;
  pEStack_70 = pEVar49;
  pEStack_6c = param_2;
  pEStack_68 = unaff_s6;
  pEStack_64 = unaff_s7;
  pcStack_5c = pcVar55;
  pEStack_54 = pEVar48;
  pEStack_4c = pEVar50;
  if (pEStack_1d8 == (Elf32_Ehdr *)0x0) {
    pEVar48 = (Elf32_Ehdr *)&DAT_00000007;
    goto LAB_000a44d0;
  }
  uVar25 = (uint)(ushort)pEVar26->e_version;
  pEVar49 = (Elf32_Ehdr *)(pEVar26->e_ident_pad[3] + uVar25);
  if (pEVar49 < (Elf32_Ehdr *)&SUB_00000002) {
    iVar10._0_1_ = pEVar26[1].e_ident_class;
    iVar10._1_1_ = pEVar26[1].e_ident_data;
    iVar10._2_1_ = pEVar26[1].e_ident_version;
    iVar10._3_1_ = pEVar26[1].e_ident_osabi;
    pEStack_54 = (Elf32_Ehdr *)0x0;
    pEStack_1d4 = pEVar49;
LAB_000a49d0:
    pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + pEVar26->e_ident_pad[0] + 8);
  }
  else {
    pEStack_1d4 = (Elf32_Ehdr *)0xffe9ca52;
    pEVar50 = pEStack_1d4;
    if (pEVar48 != (Elf32_Ehdr *)0x0) {
      if (pEVar49 == pEVar48) {
        pEVar50 = pEVar48;
        pEStack_54 = (Elf32_Ehdr *)(pEVar48[0x6d57].e_ident_magic_str + 1);
      }
      else {
        pEVar50 = (Elf32_Ehdr *)((int)&pEVar48[-0x6d58].e_shnum + 1);
        pEStack_54 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);
      }
    }
    uVar23 = (int)pEVar50 - (uint)pEVar26->e_ident_pad[3];
    iVar10 = *(int *)&pEVar26[1].e_ident_class;
    if (uVar25 == uVar23) goto LAB_000a49d0;
    uVar25 = (uint)*(ushort *)&pEVar26->e_entry;
    pEStack_1c8 = (Elf32_Ehdr *)
                  (iVar10 + (uint)(*(ushort *)(*(int *)(pEVar26[1].e_ident_pad + 3) + uVar23 * 2) &
                                  *(ushort *)&pEVar26->e_entry));
  }
  ppEStack_1dc = &pEStack_150;
  pEStack_1c4 = (Elf32_Ehdr *)(auStack_180 + 0x1c);
  puStack_1e0 = auStack_188;
  iStack_1d0 = (int)pEStack_1d4 * 4;
  uVar23 = (uint)pEStack_1c8 & 3;
  ppEVar43 = ppEStack_1dc + (int)pEStack_1d4;
  pcVar46 = pEStack_1c4->e_ident_magic_str + iStack_1d0 + -1;
  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x6acc);
  pEStack_1f4 = (Elf32_Ehdr *)0x0;
  pEStack_1ec = &EStack_108;
  uVar32 = (uint)(pEStack_1c8->e_ident_magic_str + 2) & 3;
  auStack_188._4_4_ =
       (*(int *)((int)pEStack_1c8 - uVar23) << uVar23 * 8 | uVar25 & 0xffffffffU >> (4 - uVar23) * 8
       ) & -1 << (uVar32 + 1) * 8 |
       *(uint *)(pEStack_1c8->e_ident_magic_str + 2 + -uVar32) >> (3 - uVar32) * 8;
  pcStack_1e4 = (code *)(*(int *)(puVar53 + 0xb7620) + -0x5c68);
  pEVar48 = pEStack_1d4;
  while( true ) {
    param_2 = (Elf32_Ehdr *)(*(code *)pEStack_1f0)(pEVar7,auStack_188._4_4_,ppEVar43,0,0);
    pEVar49 = (Elf32_Ehdr *)((int)pEVar48 * 4);
    pEVar50 = param_2;
    pEVar51 = pEVar26;
    pEVar54 = pEVar7;
    auStack_188._0_4_ = param_2;
    if (param_2 != (Elf32_Ehdr *)0x0) break;
    pEVar42 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);
    pEStack_1f4 = (Elf32_Ehdr *)
                  (pEStack_1f4->e_ident_magic_str +
                  (uint)(ushort)(*ppEVar43)->e_version + (uint)(*ppEVar43)->e_ident_pad[3]);
    unaff_s7 = param_2;
    if (pEVar42 == (Elf32_Ehdr *)0xffffffff) {
      pEVar47 = (Elf32_Ehdr *)((uint)(pEStack_1f4->e_ident_magic_str + 2) & 0xfffffffc);
      iStack_c4 = (*(code *)(*(int *)(puVar53 + 0xb75b8) + -0x5ca0))
                            ((int)((int)pEVar47 * 6 + pEVar7->e_shoff) >> 0x1f);
      if (iStack_c4 == 0) {
        auStack_188._0_4_ = &DAT_00000007;
        goto LAB_000a4454;
      }
      pbStack_1c0 = auStack_130 + 0x14;
      aiStack_c0[0] = iStack_c4 + (int)pEVar47 * 4;
      auStack_cc._4_4_ = pEStack_150;
      pEStack_1f4 = (Elf32_Ehdr *)(aiStack_c0[0] + (int)pEVar47 * 2);
      pcStack_1e4 = (code *)(uint)(byte)pEStack_150->e_ident_magic_str[2];
      pcStack_1bc = pEStack_1d4->e_ident_magic_str;
      puStack_1e0 = (undefined1 *)((uint)pEStack_150->e_ident_abiversion * 4);
      pcVar46 = *(char **)&pEStack_150[1].e_ident_class;
      pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEStack_150->e_machine);
      pEVar54 = (Elf32_Ehdr *)0x0;
      pEVar51 = (Elf32_Ehdr *)0x0;
      uVar3 = (ushort)pEStack_150->e_version;
      uVar1 = *(ushort *)&pEStack_150->e_entry;
      pEVar50 = pEStack_150;
      pbVar34 = pbStack_1c0;
      pEVar48 = (Elf32_Ehdr *)pcStack_1bc;
      if (*pcVar46 == **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a45ec;
      goto LAB_000a46e0;
    }
    pcVar55 = (code *)pEVar26[1].e_entry;
    pcVar52 = pEStack_54->e_ident_magic_str + (int)(pEVar42->e_ident_magic_str + -2);
    if ((pEVar26->e_ident_pad[3] == 0) || ((undefined1 *)(uint)(ushort)pEVar26->e_entry != pcVar52))
    {
      pEVar47 = (Elf32_Ehdr *)
                (*(int *)&pEVar26[1].e_ident_class +
                (uint)(*(ushort *)
                        (*(int *)(pEVar26[1].e_ident_pad + 3) +
                        ((int)pcVar52 - (uint)pEVar26->e_ident_pad[3]) * 2) &
                      *(ushort *)&pEVar26->e_entry));
      *(Elf32_Ehdr **)(pcVar46 + -4) = pEVar47;
      auStack_188[4] = pEVar47->e_ident_magic_num;
      auStack_188[5] = pEVar47->e_ident_magic_str[0];
      auStack_188[6] = pEVar47->e_ident_magic_str[1];
      auStack_188[7] = pEVar47->e_ident_magic_str[2];
      pEVar11 = (Elf32_Ehdr *)(*pcVar55)(pEVar26,pEVar47);
      dVar30 = pEVar7->e_version;
      *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = pEVar11;
      if ((dVar30 & 0xc) != 0) {
        iVar10 = (int)pEVar47 - *(int *)&pEVar26[1].e_ident_class;
        if ((int)pEVar7->e_flags < (int)((int)pEVar11 + iVar10)) {
          auStack_188._0_4_ =
               (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(0x113c2,pEVar7->e_flags,pEVar11);
          (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,pEVar49,0xc);
          pEStack_1f4 = pEVar49;
          goto LAB_000a443c;
        }
        (**(code **)(puVar53 + 0xb7910))((char *)((int)pEStack_1d8 + iVar10),pEVar47);
        *(char **)(pcVar46 + -4) =
             (char *)((int)pEStack_1d8 + ((int)pEVar47 - *(int *)&pEVar26[1].e_ident_class));
        pEStack_1e8 = pEVar11;
      }
      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
        (*pcStack_1e4)(pEVar26,(int)pcVar52 - (uint)pEVar26->e_ident_pad[3],pEVar11,puStack_1e0);
      }
    }
    else {
      puVar12 = (uint *)pEVar26->e_flags;
      *(uint **)(pcVar46 + -4) = puVar12;
      auStack_188._4_4_ = *puVar12;
      uVar13 = (*pcVar55)(pEVar26,puVar12);
      pEVar26->e_ident_pad[3] = 0;
      *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -5) = uVar13;
    }
    ppEVar43 = ppEVar43 + -1;
    pcVar46 = pcVar46 + -4;
    pEVar48 = pEVar42;
  }
  (**(code **)(puVar53 + 0xb786c))(ppEStack_1dc,0,(int)pEVar48->e_ident_magic_str * 4,0xc);
  unaff_s7 = (Elf32_Ehdr *)0x0;
  goto LAB_000a443c;
LAB_000a45ec:
  (**(code **)(puVar53 + 0xb7894))
            (aiStack_c0[0] + auStack_cc._0_4_ * 2,0,
             ((uint)pEVar50->e_ident_pad[3] + (uint)uVar3) * 2);
  if (pEVar50->e_ident_pad[3] == 0) {
LAB_000a4624:
    uVar3 = (ushort)pEVar50->e_version;
  }
  else {
    uVar25 = (uint)(ushort)pEVar50->e_entry;
    if (uVar25 != 0) {
      pcVar52 = pEVar49->e_ident_magic_str;
      do {
        uVar3._0_1_ = pEVar49->e_ident_magic_num;
        uVar3._1_1_ = pEVar49->e_ident_magic_str[0];
        pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);
        *(char **)(iStack_c4 + auStack_cc._0_4_ * 4) = pcVar46 + (uVar1 & uVar3);
        auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
      } while (pEVar49 != (Elf32_Ehdr *)(pcVar52 + uVar25 * 2 + -1));
      if (pEVar50->e_ident_pad[3] == 0) goto LAB_000a4624;
    }
    pdVar27 = &pEVar50->e_flags;
    iVar10 = 0;
    do {
      dVar30 = *pdVar27;
      iVar10 = iVar10 + 1;
      pdVar27 = pdVar27 + 1;
      *(dword *)(iStack_c4 + auStack_cc._0_4_ * 4) = dVar30;
      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
    } while (iVar10 < (int)(uint)pEVar50->e_ident_pad[3]);
    uVar3 = (ushort)pEVar50->e_version;
  }
  uVar2 = pEVar50->e_machine;
  iVar10 = auStack_cc._0_4_;
  for (; pEVar49 < (Elf32_Ehdr *)(pcVar46 + (uint)uVar3 * 2 + (uint)uVar2);
      pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1)) {
    uVar5._0_1_ = pEVar49->e_ident_magic_num;
    uVar5._1_1_ = pEVar49->e_ident_magic_str[0];
    *(char **)(iStack_c4 + iVar10 * 4) = pcVar46 + (uVar1 & uVar5);
    auStack_cc._0_4_ = iVar10 + 1;
    iVar10 = auStack_cc._0_4_;
  }
  auStack_cc._0_4_ = iVar10;
  *(int *)pbVar34 = iVar10;
  if (((int)pEVar54 < (int)pEStack_1d4) && (pcStack_1e4 == (code *)0x0)) {
    pcVar55 = *(code **)(puVar53 + 0xb7910);
    uVar23 = *(uint *)(EStack_108.e_ident_magic_str + (int)pEVar54 * 4 + -1);
    uVar13 = *(undefined4 *)(pEStack_1c4->e_ident_magic_str + (int)pEVar54 * 4 + -1);
    uVar25 = uVar23 & 0xffff;
    pcVar46 = pEVar51->e_ident_magic_str;
    *(short *)(aiStack_c0[0] + iVar10 * 2) = (short)uVar23;
    pEVar51 = (Elf32_Ehdr *)(pEVar51->e_ident_magic_str + (uVar25 - 1));
    iVar10 = (*pcVar55)(pcVar46 + (int)(pEStack_1f4->e_ident_magic_str + -2),uVar13,uVar25);
    *(undefined1 **)(iStack_c4 + auStack_cc._0_4_ * 4) = puStack_1e0 + iVar10;
    psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);
    *psVar14 = *psVar14 - (short)puStack_1e0;
    if (pEVar50->e_ident_abiversion == 0) {
      **(undefined4 **)(iStack_c4 + auStack_cc._0_4_ * 4) =
           *(undefined4 *)(*(int *)&pEVar50[1].e_ident_class + 8);
LAB_000a4864:
      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
    }
    else {
      if (3 < *(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2)) goto LAB_000a4864;
      do {
        pEVar51 = (Elf32_Ehdr *)pEVar51->e_ident_magic_str;
        pEStack_1f4->e_ident_magic_str[(int)pEVar51 + -2] = '\0';
        psVar14 = (short *)(aiStack_c0[0] + auStack_cc._0_4_ * 2);
        *psVar14 = *psVar14 + 1;
      } while (*(ushort *)(aiStack_c0[0] + auStack_cc._0_4_ * 2) < 4);
      auStack_cc._0_4_ = auStack_cc._0_4_ + 1;
    }
    if (pEVar54->e_ident_magic_str == pcStack_1bc) goto LAB_000a487c;
LAB_000a46ac:
    pEVar54 = (Elf32_Ehdr *)pEVar54->e_ident_magic_str;
    pbVar34 = pbVar34 + 4;
    pEVar50 = ppEStack_1dc[(int)pEVar54];
    pcVar46 = *(char **)&pEVar50[1].e_ident_class;
    uVar3 = (ushort)pEVar50->e_version;
    pEVar49 = (Elf32_Ehdr *)(pcVar46 + pEVar50->e_machine);
    uVar1 = *(ushort *)&pEVar50->e_entry;
    if (*pcVar46 != **(char **)&pEStack_150[1].e_ident_class) goto LAB_000a46e0;
    goto LAB_000a45ec;
  }
  if (pEVar54->e_ident_magic_str != pcStack_1bc) goto LAB_000a46ac;
LAB_000a487c:
  pEStack_1f4 = (Elf32_Ehdr *)(puStack_1e0 + (pEVar7->e_flags - 0xc));
  iVar44 = 0;
  pEStack_1a8 = (Elf32_Ehdr *)auStack_130;
  pEVar49 = &EStack_108;
  iVar10 = 0;
  pEVar47 = pEStack_150;
  while( true ) {
    uVar13 = *(undefined4 *)&pEVar47[1].e_ident_abiversion;
    iVar18 = *(int *)(pbStack_1c0 + iVar10);
    *(int *)(auStack_cc + (iVar44 + 10) * 4) = iVar18;
    *(undefined4 *)(auStack_cc + (iVar44 + 4) * 4) = uVar13;
    iVar20 = iVar44 + 1;
    if (pcStack_1e4 == (code *)0x0) {
      *(undefined4 *)(auStack_cc + (iVar44 + 5) * 4) = *(undefined4 *)&pEVar26[1].e_ident_abiversion
      ;
      *(int *)(auStack_cc + (iVar44 + 0xb) * 4) = iVar18 + 1;
      iVar20 = iVar44 + 2;
    }
    iVar44 = iVar20;
    bVar22 = pEVar47->e_ident_pad[3];
    iVar20 = (int)pEStack_1f4 - (uint)*(ushort *)&pEVar47->e_version;
    *(int *)pEVar49 = iVar20;
    if (bVar22 != 0) {
      pdVar27 = &pEVar47->e_flags;
      iVar35 = 0;
      do {
        dVar30 = *pdVar27;
        iVar35 = iVar35 + 1;
        pdVar27 = pdVar27 + 1;
        iVar19 = (*(code *)pEVar47[1].e_entry)(pEVar47,dVar30);
        bVar22 = pEVar47->e_ident_pad[3];
        iVar20 = iVar20 + iVar19 + 2;
        *(int *)pEVar49 = iVar20;
      } while (iVar35 < (int)(uint)bVar22);
    }
    *(int *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1) = iVar18;
    if (iStack_1d0 == iVar10) break;
    pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
    pEVar47 = *(Elf32_Ehdr **)((int)ppEStack_1dc + iVar10 + 4);
    iVar10 = iVar10 + 4;
  }
  pEStack_1e8 = (Elf32_Ehdr *)auStack_cc;
  pEStack_1ec = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);
  pEVar47 = (Elf32_Ehdr *)0x1;
  pEVar49 = (Elf32_Ehdr *)&SUB_00000002;
  pEVar42 = pEStack_1a8;
  pEVar54 = &EStack_108;
  pEStack_1f0 = (Elf32_Ehdr *)0x0;
  while( true ) {
    pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar47[-1].e_shstrndx + 1);
    iVar44._0_1_ = pEVar54->e_ident_magic_num;
    iVar44._1_1_ = pEVar54->e_ident_magic_str[0];
    iVar44._2_1_ = pEVar54->e_ident_magic_str[1];
    iVar44._3_1_ = pEVar54->e_ident_magic_str[2];
    pEStack_1b8 = (Elf32_Ehdr *)0x0;
    pEVar50 = pEVar48;
    pEVar11 = pEVar48;
    pEVar51 = pEVar42;
    pEStack_1d4 = pEStack_1a8;
    pEStack_1b0 = pEVar7;
    if ((int)pEStack_1f4 < iVar44) {
      do {
        pEVar48 = pEVar50;
        if ((int)pEVar11 <= (int)pEVar47) {
          if (pEVar49 == (Elf32_Ehdr *)&DAT_00000006) {
            uVar13 = 0x11477;
            pEVar50 = (Elf32_Ehdr *)&DAT_00000006;
            pEStack_1b8 = pEStack_1c4;
            goto LAB_000a46ec;
          }
          pEVar54->e_ident_class = 0;
          pEVar54->e_ident_data = 0;
          pEVar54->e_ident_version = 0;
          pEVar54->e_ident_osabi = 0;
          pEVar42->e_ident_class = auStack_cc[0];
          pEVar42->e_ident_data = auStack_cc[1];
          pEVar42->e_ident_version = auStack_cc[2];
          pEVar42->e_ident_osabi = auStack_cc[3];
          pEVar11 = pEVar49;
        }
        pEVar48 = pEVar11;
        pEVar51 = *(Elf32_Ehdr **)pEVar42;
        pEVar50 = (Elf32_Ehdr *)((int)&pEVar51[-1].e_shstrndx + 1);
        pEVar11 = (Elf32_Ehdr *)((int)pEVar50 * 2);
        uVar25 = (uint)*(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + -1);
        if (uVar25 == 0) {
          uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);
          pEStack_1f0 = pEVar11;
        }
        iVar10 = uVar25 + 2;
        iVar44 = *(int *)pEVar54 - iVar10;
        *(int *)pEVar54 = iVar44;
        if (((pcStack_1e4 == (code *)0x0) && (iVar10 = 0, (int)pEVar51 < (int)auStack_cc._0_4_)) &&
           (iVar10 = *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) + 2,
           *(ushort *)(pEVar11->e_ident_magic_str + aiStack_c0[0] + 1) == 0)) {
          iVar10 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar51);
          iVar10 = iVar10 + 2;
        }
        iVar20 = *(int *)&pEVar54->e_ident_class;
        *(Elf32_Ehdr **)pEVar42 = pEVar50;
        *(int *)&pEVar54->e_ident_class = iVar20 + iVar10;
        pEVar11 = pEVar48;
      } while ((int)pEStack_1f4 < iVar44);
    }
    else {
      pEVar50 = *(Elf32_Ehdr **)pEVar42;
    }
    iVar10 = auStack_cc._0_4_;
    if ((int)auStack_cc._0_4_ <= (int)pEVar50) break;
    while( true ) {
      iVar44 = (int)pEVar50 * 2;
      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44);
      if (uVar25 == 0) {
        uVar25 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);
        iVar10 = auStack_cc._0_4_;
      }
      iVar20 = uVar25 + 2;
      if ((int)pEStack_1f4 < iVar20 + *(int *)pEVar54) break;
      pEVar50 = (Elf32_Ehdr *)pEVar50->e_ident_magic_str;
      *(int *)pEVar54 = iVar20 + *(int *)pEVar54;
      *(Elf32_Ehdr **)pEVar42 = pEVar50;
      bVar4 = (int)pEVar50 < iVar10;
      if (pcStack_1e4 == (code *)0x0) {
        if (!bVar4) goto LAB_000a4c3c;
        uVar25 = (uint)*(ushort *)(aiStack_c0[0] + iVar44 + 2);
        iVar20 = uVar25 + 2;
        if (uVar25 == 0) {
          iVar20 = (*(code *)pEStack_1ec)(pEStack_1e8,pEVar50);
          bVar4 = (int)pEVar50 < (int)auStack_cc._0_4_;
          iVar20 = iVar20 + 2;
          iVar10 = auStack_cc._0_4_;
        }
      }
      *(int *)&pEVar54->e_ident_class = *(int *)&pEVar54->e_ident_class - iVar20;
      if (!bVar4) goto LAB_000a4c3c;
    }
    if (iVar10 <= (int)pEVar50) break;
    iVar20 = 0;
    if (pEStack_1c4 != (Elf32_Ehdr *)0x0) {
      iVar20._0_2_ = pEVar42[-0xffffffff00000001].e_shnum;
      iVar20._2_2_ = pEVar42[-0xffffffff00000001].e_shstrndx;
    }
    bVar4 = (int)pEVar48 <= (int)pEVar47;
    pEStack_1f0 = pEVar48;
    if ((int)pEVar50 <= iVar20) {
      uVar13 = 0x11498;
      pEVar51 = pEVar42;
      pEStack_1b8 = pEStack_1c4;
      goto LAB_000a46ec;
    }
    pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;
    pEVar54 = (Elf32_Ehdr *)&pEVar54->e_ident_class;
    pEVar42 = (Elf32_Ehdr *)&pEVar42->e_ident_class;
    pEVar49 = (Elf32_Ehdr *)pEVar49->e_ident_magic_str;
    if (bVar4) {
      pEStack_1c4 = (Elf32_Ehdr *)((int)&pEVar48[-1].e_shstrndx + 1);
      pEVar47 = pEVar48;
      break;
    }
  }
LAB_000a4c3c:
  iVar10 = (int)pEStack_1c4 * 4;
  if (pEStack_1c4 == (Elf32_Ehdr *)0x0) {
LAB_000a4ef4:
    pEStack_1ec = (Elf32_Ehdr *)auStack_144;
    pEVar48 = (Elf32_Ehdr *)(auStack_188 + 4);
    pEStack_1e8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75e4) + 0x1660);
    pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x7474);
    pEStack_1c4 = *(Elf32_Ehdr **)(puVar53 + 0xb75e4);
    bVar22 = **(byte **)&pEStack_150[1].e_ident_class;
    pEStack_1f0 = (Elf32_Ehdr *)(uint)bVar22;
    pEVar49 = pEStack_1ec;
    pEVar50 = (Elf32_Ehdr *)0x0;
    do {
      pEVar42 = pEVar50;
      pEVar50 = pEVar48;
      if ((int)pEVar42 < (int)pcStack_1bc) {
        auStack_180._0_4_ = ppEStack_1dc[(int)pEVar42];
        ppEStack_1dc[(int)pEVar42] = (Elf32_Ehdr *)0x0;
        *(undefined4 *)pEVar49 = auStack_180._0_4_;
        auStack_188._0_4_ = FUN_0009c62c(((Elf32_Ehdr *)(auStack_180._0_4_ + 0x34))->e_version);
joined_r0x000a5018:
        pEVar51 = pEVar26;
        unaff_s7 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;
        pEVar54 = pEVar7;
        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
      }
      else {
        auStack_188._0_4_ = (*(code *)pEStack_1e8)(pEVar7,auStack_180,pEVar48,1,0);
        pEVar51 = pEVar26;
        unaff_s7 = pEVar42;
        pEVar54 = pEVar7;
        if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
        (*(code *)pEStack_1d4)(auStack_180._0_4_,pEStack_1f0);
        uVar13 = auStack_cc._0_4_;
        wVar6 = pEVar7->e_type;
        pEVar49->e_ident_magic_num = auStack_180[0];
        pEVar49->e_ident_magic_str[0] = auStack_180[1];
        pEVar49->e_ident_magic_str[1] = auStack_180[2];
        pEVar49->e_ident_magic_str[2] = auStack_180[3];
        *(undefined4 *)(pbStack_1c0 + (int)pEVar42 * 4) = uVar13;
        if ((char)wVar6 != '\0') {
          uVar13._0_1_ = pEVar26->e_ident_class;
          uVar13._1_1_ = pEVar26->e_ident_data;
          uVar13._2_1_ = pEVar26->e_ident_version;
          uVar13._3_1_ = pEVar26->e_ident_osabi;
          FUN_000a20b8(pEVar7,*(undefined4 *)(auStack_180._0_4_ + 4),5,uVar13,auStack_188);
          goto joined_r0x000a5018;
        }
      }
      pEVar50 = (Elf32_Ehdr *)pEVar42->e_ident_magic_str;
      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
    } while ((int)pEVar50 < (int)pEVar47);
    piVar40 = (int *)(auStack_144 + 4);
    pwVar28 = &EStack_108.e_phnum;
    pwVar33 = awStack_15c;
    EStack_108.e_version = *(dword *)(auStack_144._0_4_ + 4);
    puVar17 = (undefined1 *)0x1;
    EStack_108.e_ehsize = (short)(EStack_108.e_version >> 0x10);
    EStack_108.e_phentsize = (short)EStack_108.e_version;
    awStack_15c[0] = *(word *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_version + 0x1c);
    pdVar27 = &EStack_108.e_version;
    while( true ) {
      pwVar33 = pwVar33 + 1;
      iVar10 = *(int *)(puVar53 + 0xb753c);
      if (pEVar50 == (Elf32_Ehdr *)puVar17) break;
      uVar25 = *(uint *)(*piVar40 + 4);
      iVar10 = *(int *)(*piVar40 + 0x48);
      pdVar27[1] = uVar25;
      *(uint *)pwVar28 = uVar25;
      bVar4 = uVar25 == EStack_108.e_version;
      *pwVar33 = *(word *)(iVar10 + 0x1c);
      pdVar15 = &EStack_108.e_version;
      if (bVar4) {
        iVar10 = *(int *)(puVar53 + 0xb7620);
LAB_000a5138:
        auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x1150c);
        pEVar51 = pEVar26;
        unaff_s7 = pEVar50;
        pEVar54 = pEVar7;
        pEStack_1d4 = (Elf32_Ehdr *)((int)pEVar42 * 4);
        goto LAB_000a443c;
      }
      while (pdVar16 = pdVar15 + 1, pdVar27 != pdVar15) {
        iVar10 = *(int *)(puVar53 + 0xb7620);
        pdVar15 = pdVar16;
        if (uVar25 == *pdVar16) goto LAB_000a5138;
      }
      puVar17 = puVar17 + 1;
      pdVar27 = pdVar27 + 1;
      piVar40 = piVar40 + 1;
      pwVar28 = pwVar28 + 2;
    }
    iVar44 = 0;
    pEVar49 = pEStack_1ec;
    do {
      uVar25._0_2_ = EStack_108.e_ehsize;
      uVar25._2_2_ = EStack_108.e_phentsize;
      if (pEVar50 == (Elf32_Ehdr *)0x1) {
        auStack_188._4_2_ = EStack_108.e_ehsize;
        auStack_188._6_2_ = EStack_108.e_phentsize;
        EStack_108.e_ehsize = 0xffff;
        EStack_108.e_phentsize = 0xffff;
        if (iVar44 == 0) goto LAB_000a5230;
        iVar20 = 0;
LAB_000a51ec:
        iVar35 = *(int *)pEVar49;
        iVar18 = *(int *)(iVar35 + 0x48);
        *(word *)(iVar18 + 0x1c) = awStack_15c[iVar20];
        (*(code *)(iVar10 + -0x2370))(iVar18,auStack_188._4_4_);
        *(undefined4 *)(iVar35 + 4) = auStack_188._4_4_;
      }
      else {
        pwVar28 = &EStack_108.e_ehsize;
        iVar20 = 0;
        iVar18 = 1;
        auStack_188._4_4_ = EStack_108._40_4_;
        do {
          uVar25 = *(uint *)(pwVar28 + 2);
          pwVar28 = pwVar28 + 2;
          if (uVar25 < (uint)auStack_188._4_4_) {
            iVar20 = iVar18;
          }
          iVar18 = iVar18 + 1;
          if (uVar25 < (uint)auStack_188._4_4_) {
            auStack_188._4_4_ = uVar25;
          }
        } while (pEVar50 != (Elf32_Ehdr *)iVar18);
        pbVar34 = EStack_108.e_ident_pad + iVar20 * 4 + 0x1f;
        pbVar34[0] = 0xff;
        pbVar34[1] = 0xff;
        pbVar34[2] = 0xff;
        pbVar34[3] = 0xff;
        if (iVar20 != iVar44) {
          if (iVar44 < iVar20) {
            iVar35 = *(int *)&pEVar7->e_phnum;
            iVar18 = *(int *)(*(int *)(auStack_144 + (iVar20 + -1) * 4 + 4) + 0x48);
            *(undefined2 *)(iVar18 + 0x1c) = 0;
            (*(code *)(iVar10 + -0x2370))(iVar18,iVar20 + 1 + iVar35);
          }
          goto LAB_000a51ec;
        }
      }
      iVar44 = iVar44 + 1;
      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
      uVar25 = auStack_188._4_4_;
      if (pEVar50 == (Elf32_Ehdr *)iVar44) {
LAB_000a5230:
        auStack_188._4_4_ = uVar25;
        iVar10 = *(int *)(auStack_144 + (int)pEVar42 * 4);
        uVar13 = *(undefined4 *)(iVar10 + 4);
        pEStack_1c8->e_ident_magic_str[2] = (char)uVar13;
        pEStack_1c8->e_ident_magic_num = (byte)((uint)uVar13 >> 0x18);
        pEStack_1c8->e_ident_magic_str[0] = (char)((uint)uVar13 >> 0x10);
        pEStack_1c8->e_ident_magic_str[1] = (char)((uint)uVar13 >> 8);
        if (((bVar22 & 8) == 0) && (pEVar50 != (Elf32_Ehdr *)pcStack_1bc)) {
          puVar17 = auStack_14c + 4;
          if ((int)pEVar50 <= (int)pcStack_1bc) {
            puVar17 = auStack_154;
          }
          iVar10 = *(int *)(iVar10 + 0x38);
          uVar32 = *(uint *)(*(int *)(*(int *)(puVar17 + iStack_1d0 + 4) + 0x38) + 8);
          uVar25 = iVar10 + 8;
          uVar23 = uVar25 & 3;
          puVar12 = (uint *)(uVar25 - uVar23);
          *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;
          uVar25 = iVar10 + 0xb;
          uVar23 = uVar25 & 3;
          puVar12 = (uint *)(uVar25 - uVar23);
          *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;
        }
        pEVar49 = (Elf32_Ehdr *)auStack_144._0_4_;
        if ((char)pEVar7->e_type == '\0') goto LAB_000a5474;
        pEStack_1c4 = (Elf32_Ehdr *)pEVar7->e_flags;
        pEStack_1e8 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;
        pEStack_1f0 = (Elf32_Ehdr *)
                      ((uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14) +
                      (uint)((byte *)(auStack_144._0_4_ + 9))[3]);
        if ((int)auStack_cc._0_4_ < 1) goto LAB_000a5474;
        pEStack_1d4 = (Elf32_Ehdr *)0x0;
        param_3 = (Elf32_Ehdr *)0x0;
        pEStack_1c8 = (Elf32_Ehdr *)0x0;
        pbStack_1c0 = (byte *)(*(int *)(puVar53 + 0xb75e4) + 0x22e0);
        pEStack_1b8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);
        pEVar47 = (Elf32_Ehdr *)0x0;
        iVar10 = auStack_cc._0_4_;
        param_1 = (Elf32_Ehdr *)auStack_144._0_4_;
        param_6 = (Elf32_Ehdr *)auStack_144._0_4_;
        pEStack_1b0 = pEVar42;
        goto LAB_000a53dc;
      }
    } while( true );
  }
  pEStack_1ec = (Elf32_Ehdr *)(EStack_108.e_ident_magic_str + iVar10 + -1);
  pEStack_1f0 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x14d8);
  pEStack_1e8 = pEStack_1c4;
  pEVar50 = *(Elf32_Ehdr **)(EStack_108.e_ident_magic_str + iVar10 + -1);
  pEVar51 = (Elf32_Ehdr *)(pEStack_1a8->e_ident_magic_str + iVar10 + -1);
  do {
    pEStack_1d4 = pEVar51;
    pEStack_1e8 = (Elf32_Ehdr *)((int)&pEStack_1e8[-1].e_shstrndx + 1);
    pEVar49 = *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum;
    pEVar48 = (Elf32_Ehdr *)((*(int *)&pEStack_1d4[-1].e_shnum - (int)pcStack_1e4) * 2);
    pEVar51 = (Elf32_Ehdr *)(*(int *)&pEStack_1d4[-1].e_shnum + -1);
    if (*(short *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) == 0) {
      (*(code *)pEStack_1f0)(auStack_cc);
    }
    do {
      pEVar54 = pEVar51;
      if (*(short *)(aiStack_c0[0] + (int)pEVar54 * 2) == 0) {
        (*(code *)pEStack_1f0)(auStack_cc,pEVar54);
      }
      if (pEVar50 != (Elf32_Ehdr *)0x0) {
        pEVar54 = *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum;
        break;
      }
      uVar3 = *(ushort *)(aiStack_c0[0] + (int)pEVar54 * 2);
      pEVar50 = (Elf32_Ehdr *)(*(ushort *)(pEVar48->e_ident_magic_str + aiStack_c0[0] + -1) + 2);
      *(Elf32_Ehdr **)&pEStack_1d4[-1].e_shnum = pEVar54;
      pEVar51 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);
      pEVar49 = (Elf32_Ehdr *)((int)pEVar49 - (uVar3 + 2));
      pEVar48 = (Elf32_Ehdr *)&pEVar48[-1].e_shstrndx;
    } while (-1 < (int)pEVar51);
    *(Elf32_Ehdr **)pEStack_1ec = pEVar50;
    *(Elf32_Ehdr **)&pEStack_1ec[-1].e_shnum = pEVar49;
    pEStack_1b0 = pEVar47;
    if (pEStack_1e8 == (Elf32_Ehdr *)0x0) {
      bVar4 = 0 < (int)pEVar54;
      pEVar48 = pEVar47;
      pEVar50 = pEVar54;
      pEVar51 = pEVar26;
      pEVar54 = pEVar7;
      if (bVar4) goto LAB_000a4ef4;
      break;
    }
    pEStack_1ec = (Elf32_Ehdr *)&pEStack_1ec[-1].e_shnum;
    pEVar51 = (Elf32_Ehdr *)&pEStack_1d4[-1].e_shnum;
    iVar18._0_2_ = pEStack_1d4[-0xffffffff00000001].e_phnum;
    iVar18._2_2_ = pEStack_1d4[-0xffffffff00000001].e_shentsize;
    pEVar50 = pEVar49;
  } while (iVar18 < (int)pEVar54);
  uVar13 = 0x114c2;
LAB_000a46ec:
  auStack_188._0_4_ = (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x75c0))(uVar13);
  pEVar47 = pEVar48;
LAB_000a443c:
  param_2 = pEVar50;
  pEVar26 = pEVar51;
  pEVar7 = pEVar54;
  if (iStack_c4 != 0) {
    (**(code **)(puVar53 + 0xb7500))();
  }
LAB_000a4454:
  param_6 = (Elf32_Ehdr *)(auStack_14c + iStack_1d0);
  param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);
  param_1 = (Elf32_Ehdr *)ppEStack_1dc;
  do {
    if (*(Elf32_Ehdr **)param_1 != (Elf32_Ehdr *)0x0) {
      (*(code *)param_3)((*(Elf32_Ehdr **)param_1)[1].e_version);
    }
    param_1 = (Elf32_Ehdr *)((int)param_1 + 4);
  } while (param_1 != param_6);
  pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;
  if (unaff_s7 != (Elf32_Ehdr *)0x0) {
    param_1 = (Elf32_Ehdr *)auStack_144;
    param_3 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb753c) + -0x1cbc);
    param_6 = (Elf32_Ehdr *)((int)param_1 + unaff_s7 * 4);
    do {
      if (*(int *)param_1 != 0) {
        (*(code *)param_3)(*(undefined4 *)(*(int *)param_1 + 0x48));
      }
      param_1 = (Elf32_Ehdr *)((int)param_1 + 4);
      pEVar48 = (Elf32_Ehdr *)auStack_188._0_4_;
    } while (param_6 != param_1);
  }
LAB_000a44d0:
  if (iStack_84 == *piVar9) {
    return pEVar48;
  }
  iVar10 = iStack_84;
  (**(code **)(puVar53 + 0xb78f0))();
  pEVar48 = extraout_v1;
  pEVar50 = param_2;
  param_2 = unaff_s7;
  do {
    if ((pEVar48 <= pEVar49) &&
       (pEVar49 < (Elf32_Ehdr *)
                  (pEStack_1c4->e_ident_magic_str + (int)(pEVar48->e_ident_magic_str + -2))))
    goto LAB_000a53d0;
    do {
      if (puStack_1e0 == (undefined1 *)0x0) {
        uVar31._0_1_ = pEVar49->e_ident_magic_num;
        uVar31._1_1_ = pEVar49->e_ident_magic_str[0];
        uVar31._2_1_ = pEVar49->e_ident_magic_str[1];
        uVar31._3_1_ = pEVar49->e_ident_magic_str[2];
        uVar36._0_1_ = param_6->e_ident_class;
        uVar36._1_1_ = param_6->e_ident_data;
        uVar36._2_1_ = param_6->e_ident_version;
        uVar36._3_1_ = param_6->e_ident_osabi;
        FUN_000a20b8(pEVar7,uVar31,5,uVar36,auStack_188);
      }
      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + (int)pEVar47 * 2);
      if (uVar25 == 0) {
        uVar25 = (*(code *)pEStack_1b8)(auStack_cc,pEVar47);
      }
      if (param_6->e_type < uVar25) {
        (*(code *)pbStack_1c0)(param_6,&param_1[1].e_ident_abiversion,pEVar49,auStack_188);
      }
      iVar10 = auStack_cc._0_4_;
      pEVar51 = pEVar26;
      unaff_s7 = pEVar50;
      pEVar54 = pEVar7;
      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
LAB_000a53d0:
      do {
        pEVar47 = (Elf32_Ehdr *)pEVar47->e_ident_magic_str;
        pEVar42 = pEStack_1b0;
        if (iVar10 <= (int)pEVar47) goto LAB_000a5474;
LAB_000a53dc:
        pEVar49 = *(Elf32_Ehdr **)(iStack_c4 + (int)pEVar47 * 4);
        if (pEVar47 == pEStack_1f0) {
          param_3 = (Elf32_Ehdr *)param_3->e_ident_magic_str;
          if ((int)param_3 < (int)pEVar50) {
            param_1 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)param_3 + -1) * 4 + 4);
          }
          else {
            param_1 = (&pEStack_150)[(int)param_3];
          }
          pEStack_1e8 = *(Elf32_Ehdr **)&param_1[1].e_ident_class;
          pEStack_1f0 = (Elf32_Ehdr *)
                        (pEStack_1f0->e_ident_magic_str +
                        (uint)(ushort)param_1->e_version + (uint)param_1->e_ident_pad[3] +
                        (uint)(pcStack_1e4 == (code *)0x0) + -1);
        }
        if (*(Elf32_Ehdr **)(auStack_130 + (int)pEStack_1c8) != pEVar47) break;
        pEStack_1d4 = (Elf32_Ehdr *)pEStack_1d4->e_ident_magic_str;
        pEStack_1c8 = (Elf32_Ehdr *)((int)pEStack_1d4 * 4);
        param_6 = *(Elf32_Ehdr **)(auStack_144 + (int)pEStack_1d4 * 4);
      } while (pcStack_1e4 == (code *)0x0);
    } while (((int)pEVar50 <= (int)param_3) ||
            (iVar35._0_1_ = param_6->e_ident_class, iVar35._1_1_ = param_6->e_ident_data,
            iVar35._2_1_ = param_6->e_ident_version, iVar35._3_1_ = param_6->e_ident_osabi,
            pEVar48 = pEStack_1e8,
            iVar35 != *(int *)(EStack_108.e_ident_pad + (int)param_3 * 4 + 0xb)));
  } while( true );
LAB_000a46e0:
  uVar13 = 0x11403;
  pEStack_1ec = (Elf32_Ehdr *)0x0;
  pEStack_1f0 = &EStack_108;
  pEStack_1e8 = pEVar7;
  pEStack_1d4 = pEVar26;
  goto LAB_000a46ec;
LAB_000a5474:
  unaff_s7 = pEVar50;
  if (pEVar42 != (Elf32_Ehdr *)0x0) {
    pEStack_1f0 = (Elf32_Ehdr *)0x0;
    pEStack_1d4 = (Elf32_Ehdr *)
                  (pEVar42->e_ident_magic_str + (int)(pEStack_54->e_ident_magic_str + -2));
    pEStack_1e8 = (Elf32_Ehdr *)auStack_188;
    iVar10 = *(int *)(puVar53 + 0xb75e4);
    pEStack_1c4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb75b8) + 0x54);
    pEVar48 = pEStack_54;
    pEVar49 = pEStack_1ec;
    do {
      pbVar37 = (byte *)(pEStack_1f0->e_ident_magic_str + (int)(pEStack_1d8->e_ident_magic_str + -2)
                        );
      pEVar47 = *(Elf32_Ehdr **)pEVar49;
      puVar29 = (undefined4 *)(iStack_c4 + *(int *)pEStack_1a8 * 4);
      uVar25 = (uint)*(ushort *)(aiStack_c0[0] + *(int *)pEStack_1a8 * 2);
      pbVar34 = (byte *)*puVar29;
      puVar17 = puStack_1e0 + uVar25;
      if (pEVar47->e_ident_abiversion == 0) {
        uVar32 = *(uint *)pbVar34;
        iVar44 = *(int *)&pEVar47[1].e_ident_class;
        uVar25 = iVar44 + 8;
        uVar23 = uVar25 & 3;
        puVar12 = (uint *)(uVar25 - uVar23);
        *puVar12 = *puVar12 & -1 << (4 - uVar23) * 8 | uVar32 >> uVar23 * 8;
        uVar25 = iVar44 + 0xb;
        uVar23 = uVar25 & 3;
        puVar12 = (uint *)(uVar25 - uVar23);
        *puVar12 = *puVar12 & 0xffffffffU >> (uVar23 + 1) * 8 | uVar32 << (3 - uVar23) * 8;
      }
      else if (pcStack_1e4 == (code *)0x0) {
        pbVar34 = pbVar34 + -4;
        if (uVar25 == 4) {
          puVar17 = (undefined1 *)(*(code *)pEVar26[1].e_entry)(pEVar26,pbVar34);
          pbStack_1c0 = pbVar34;
        }
      }
      else {
        (*(code *)pEVar47[1].e_phoff)(pEVar47,puVar29[-1],auStack_180);
        if (((Elf32_Ehdr *)auStack_180._0_4_ == (Elf32_Ehdr *)0x0) &&
           ((uint)auStack_180._4_4_ < 0x80)) {
          pbVar37[4] = (byte)auStack_180._4_4_;
          iVar44 = 1;
        }
        else {
          iVar44 = (*(code *)pEStack_1c4)(pbVar37 + 4);
        }
        puVar17 = (undefined1 *)(iVar44 + 4);
        pbVar34 = pbVar37;
        pbVar37 = (byte *)0x0;
      }
      uVar38._0_1_ = pEVar47->e_ident_class;
      uVar38._1_1_ = pEVar47->e_ident_data;
      uVar38._2_1_ = pEVar47->e_ident_version;
      uVar38._3_1_ = pEVar47->e_ident_osabi;
      pEStack_1f0 = (Elf32_Ehdr *)(pEStack_1f0->e_ident_magic_str + (int)(puVar17 + -1));
      (*(code *)(iVar10 + 0x3cd0))(pEVar26,pEVar48,pbVar34,puVar17,pbVar37,uVar38,pEStack_1e8);
      pEVar51 = pEVar26;
      pEVar54 = pEVar7;
      pEStack_1c8 = (Elf32_Ehdr *)(iVar10 + 0x3cd0);
      if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;
      pEStack_1a8 = (Elf32_Ehdr *)&pEStack_1a8->e_ident_class;
      pEVar49 = (Elf32_Ehdr *)&pEVar49->e_ident_class;
    } while (pEVar48 != pEStack_1d4);
  }
  pEStack_1c4 = (Elf32_Ehdr *)auStack_180;
  pEStack_1f0 = (Elf32_Ehdr *)-(int)pEVar50;
  pEStack_1a8 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x543c);
  pbStack_1c0 = *(byte **)(puVar53 + 0xb7620);
  pEStack_1e8 = (Elf32_Ehdr *)((int)pEStack_1f0 + 2);
  pEStack_1d4 = (Elf32_Ehdr *)(*(int *)(puVar53 + 0xb7620) + -0x5114);
  iVar10 = *(int *)(puVar53 + 0xb7620);
  pEVar47 = pEStack_1c4;
  do {
    pEStack_1f0 = (Elf32_Ehdr *)((int)pEStack_1f0 + 1);
    pEVar48 = pEStack_1f0;
    if ((int)pEStack_1f0 < 0) {
      pEVar48 = (Elf32_Ehdr *)-(int)pEStack_1f0;
    }
    pEStack_1c8 = pEVar50;
    if (*(char *)((int)&uStack_8c + (int)pEVar48) == '\0') {
      if (-1 < (int)pEStack_1f0) {
        if (pEStack_1f0 != (Elf32_Ehdr *)0x0) goto LAB_000a569c;
        iVar20 = 0;
        pcVar46 = (char *)(uint)(ushort)*(dword *)(auStack_144._0_4_ + 0x14);
        pEVar49 = (Elf32_Ehdr *)
                  (*(int *)(((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_pad + 3) +
                  auStack_130._0_4_ * 2);
        pEStack_1d8 = (Elf32_Ehdr *)(uint)*(byte *)(auStack_144._0_4_ + 9);
        pEVar51 = *(Elf32_Ehdr **)&((Elf32_Ehdr *)(auStack_144._0_4_ + 0x34))->e_ident_class;
        pEVar11 = (Elf32_Ehdr *)(pcVar46 + ((byte *)(auStack_144._0_4_ + 9))[3]);
        iVar44 = 0;
        pEVar42 = (Elf32_Ehdr *)auStack_130._0_4_;
        pEVar47 = (Elf32_Ehdr *)auStack_144._0_4_;
        pEVar54 = (Elf32_Ehdr *)auStack_130._0_4_;
        goto LAB_000a5774;
      }
      puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);
      if (*(int *)(auStack_130 + (int)puVar17 * 4) <=
          *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14)) {
LAB_000a569c:
        puVar17 = (undefined1 *)((int)&pEVar48[-1].e_shstrndx + 1);
        iVar20 = auStack_cc._0_4_;
        if ((int)pEVar48 < (int)pcStack_1bc) {
          iVar20 = (uint)(pcStack_1e4 == (code *)0x0) +
                   *(int *)(auStack_130 + (int)puVar17 * 4 + 0x14);
        }
        pEVar47 = *(Elf32_Ehdr **)(auStack_144 + (int)((int)&pEVar48[-1].e_shstrndx + 1) * 4 + 4);
        pEVar54 = *(Elf32_Ehdr **)(auStack_130 + (int)pEVar48 * 4);
        iVar44 = (uint)(pcStack_1e4 == (code *)0x0) + *(int *)(auStack_130 + (int)puVar17 * 4);
        pcVar46 = (char *)(uint)(ushort)pEVar47->e_version;
        pEVar42 = (Elf32_Ehdr *)((int)pEVar54 - iVar44);
        pEStack_1d8 = (Elf32_Ehdr *)(uint)pEVar47->e_ident_pad[0];
        pEVar51 = *(Elf32_Ehdr **)&pEVar47[1].e_ident_class;
        pEVar49 = (Elf32_Ehdr *)(*(int *)(pEVar47[1].e_ident_pad + 3) + (int)pEVar42 * 2);
        pEVar11 = (Elf32_Ehdr *)(pcVar46 + (uint)pEVar47->e_ident_pad[3] + iVar20);
        if (iVar20 < iVar44) {
          iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))
                             (pEVar47,iVar20,iVar44 - iVar20,&iStack_c4,aiStack_c0);
          pEStack_1b8 = pEVar11;
          if (iVar18 <= (int)pcVar46) {
            iVar35 = (int)pcVar46 << 1;
            pcVar46 = pcVar46 + -iVar18;
            (**(code **)(puVar53 + 0xb791c))
                      (*(int *)(pEVar47[1].e_ident_pad + 3),
                       *(int *)(pEVar47[1].e_ident_pad + 3) + iVar18 * 2,iVar35);
            goto LAB_000a5774;
          }
          auStack_188._0_4_ = (*(code *)(iVar10 + -0x75c0))(0x111f9);
LAB_000a5b00:
          if ((Elf32_Ehdr *)auStack_188._0_4_ != (Elf32_Ehdr *)0x0) goto LAB_000a443c;
        }
        else {
LAB_000a5774:
          if ((int)pEVar54 < (int)pEVar11) {
            iVar18 = (*(code *)(pbStack_1c0 + -0x5e24))
                               (pEVar47,pEVar54,(int)pEVar11 - (int)pEVar54,&iStack_c4,aiStack_c0);
            pcVar46 = pcVar46 + -iVar18;
          }
          pEStack_1b0 = (Elf32_Ehdr *)
                        (&pEStack_1d8->e_ident_version + (int)(pEVar51->e_ident_magic_str + -1));
          auStack_180._0_4_ =
               pEVar51->e_ident_magic_str +
               (CONCAT11((&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)],
                         pEStack_1b0->e_ident_magic_num) - 1 & 0xffff);
          if ((uint)auStack_180._0_4_ < pEVar49) {
LAB_000a5a94:
            if (0 < (int)pEVar42) {
LAB_000a5a9c:
              pEVar49 = (Elf32_Ehdr *)(iVar44 << 1);
              pEVar54 = pEVar42;
              do {
                iVar20 = aiStack_c0[0] + -1;
                if (*(short *)(pEVar49->e_ident_magic_str + iVar20) == 0) {
                  sVar21 = (*(code *)((Elf32_Ehdr *)(auStack_cc._4_4_ + 0x34))->e_entry)
                                     (auStack_cc._4_4_,*(undefined4 *)(iStack_c4 + (int)pEVar49 * 2)
                                     );
                  *(short *)(pEVar49->e_ident_magic_str + iVar20) = sVar21;
                }
                pEVar54 = (Elf32_Ehdr *)((int)&pEVar54[-1].e_shstrndx + 1);
                pEVar49 = (Elf32_Ehdr *)(pEVar49->e_ident_magic_str + 1);
              } while (pEVar54 != (Elf32_Ehdr *)0x0);
            }
            pEVar54 = (Elf32_Ehdr *)auStack_cc;
            auStack_188._0_4_ = (*(code *)pEStack_1a8)(pEVar54,iVar44,pEVar42,pEVar47);
            goto LAB_000a5b00;
          }
          if (iVar44 < iVar20) {
            iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);
            pEStack_1b8 = (Elf32_Ehdr *)(iVar20 - iVar44);
            if ((int)pEVar42 < iVar20 - iVar44) {
              pEStack_1b8 = pEVar42;
            }
            (**(code **)(puVar53 + 0xb791c))(iVar18 + (int)pEStack_1b8 * 2,iVar18,(int)pcVar46 << 1)
            ;
            iVar18 = (*(code *)pEStack_1d4)
                               (pEVar47,pEVar49,pEStack_1c4,iVar18,iVar44,pEStack_1b8,auStack_cc);
            if (iVar18 != 0) goto LAB_000a5a94;
            pcVar46 = pEStack_1b8->e_ident_magic_str + (int)(pcVar46 + -1);
          }
          uVar25 = (uint)pEVar47->e_ident_pad[3];
          iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);
          if (uVar25 != 0) {
            puVar41 = (ushort *)((int)&pEVar47->e_entry + 2);
            iVar35 = 0;
            do {
              uVar3 = *puVar41;
              iVar19 = ((uint)uVar3 + iVar20) - iVar44;
              pEStack_1b8 = pEVar48;
              if ((-1 < iVar19) && (iVar19 < (int)pEVar42)) {
                iVar18 = iVar18 + iVar19 * 2;
                (**(code **)(puVar53 + 0xb791c))(iVar18 + 2,iVar18,((int)pcVar46 - iVar19) * 2);
                pcVar46 = pcVar46 + 1;
                iVar18 = (*(code *)pEStack_1d4)
                                   (pEVar47,pEVar49,pEStack_1c4,iVar18,(uint)uVar3 + iVar20,1,
                                    auStack_cc);
                if (iVar18 != 0) goto LAB_000a5a9c;
                iVar18 = *(int *)(pEVar47[1].e_ident_pad + 3);
                uVar25 = (uint)pEVar47->e_ident_pad[3];
              }
              iVar35 = iVar35 + 1;
              puVar41 = puVar41 + 1;
            } while (iVar35 < (int)uVar25);
          }
          iVar20 = (*(code *)pEStack_1d4)
                             (pEVar47,pEVar49,pEStack_1c4,iVar18 + (int)pcVar46 * 2,pcVar46 + iVar44
                              ,(int)pEVar42 - (int)pcVar46,auStack_cc);
          if (iVar20 != 0) goto LAB_000a5a94;
          *(short *)((int)&pEVar47->e_version + 2) = (short)pEVar42;
          pEVar47->e_ident_pad[3] = 0;
          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[3] =
               (byte)((uint)pEVar42 >> 8);
          (pEStack_1d8->e_ident_magic_str + (int)(pEVar51->e_ident_magic_str + -2))[4] =
               (byte)(short)pEVar47->e_version;
          (&pEStack_1d8->e_ident_data)[(int)(pEVar51->e_ident_magic_str + -1)] =
               (byte)((uint)(auStack_180._0_4_ - (int)pEVar51) >> 8);
          pEStack_1b0->e_ident_magic_num = (char)auStack_180._0_4_ - (char)pEVar51;
          auStack_188._0_4_ = (Elf32_Ehdr *)0x0;
        }
        uVar13 = *(undefined4 *)(EStack_108.e_ident_magic_str + (int)pEVar48 * 4 + -1);
        *(char *)((int)&uStack_8c + (int)pEVar48) = '\x01';
        *(short *)&pEVar47->e_version = (short)pEStack_1f4 - (short)uVar13;
        goto LAB_000a5944;
      }
    }
    else {
LAB_000a5944:
      uVar13 = auStack_144._0_4_;
      if ((int)pEVar50 <= (int)pEStack_1e8) break;
    }
    pEStack_1e8 = (Elf32_Ehdr *)pEStack_1e8->e_ident_magic_str;
  } while( true );
  if (((pEStack_4c == (Elf32_Ehdr *)0x0) || ((short)pEVar26->e_version != 0)) ||
     (*(ushort *)(auStack_144._0_4_ + 0x14) < (ushort)pEVar26->e_ident_pad[0])) {
    if (((char)pEVar7->e_type != '\0') && (puStack_1e0 == (undefined1 *)0x0)) {
      pEStack_1e8 = (Elf32_Ehdr *)auStack_188;
      pEVar48 = pEStack_1ec;
      do {
        iVar10 = *(int *)pEVar48;
        param_2 = (Elf32_Ehdr *)param_2->e_ident_magic_str;
        pEVar48 = (Elf32_Ehdr *)&pEVar48->e_ident_class;
        FUN_000a20b8(pEVar7,*(undefined4 *)(*(int *)(iVar10 + 0x38) + 8),5,
                     *(undefined4 *)(iVar10 + 4),pEStack_1e8);
      } while (pEVar50 != param_2);
    }
  }
  else {
    auStack_188._0_4_ =
         (*(code *)(*(int *)(puVar53 + 0xb7620) + -0x5910))(auStack_144._0_4_,0xffffffff);
    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
      FUN_000a25bc(uVar13,pEVar26,auStack_188);
      if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
        FUN_000a3c84(uVar13,auStack_188);
      }
    }
  }
  pEVar48 = pEVar50;
  while (pEVar51 = pEVar26, pEVar54 = pEVar7, (int)pEVar48 < (int)pcStack_1bc) {
    if ((Elf32_Ehdr *)auStack_188._0_4_ == (Elf32_Ehdr *)0x0) {
      ppEVar43 = ppEStack_1dc + (int)pEVar48;
      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;
      FUN_000a3c84(*ppEVar43,auStack_188);
    }
    else {
      pEVar48 = (Elf32_Ehdr *)pEVar48->e_ident_magic_str;
    }
  }
  goto LAB_000a443c;
}

